Computational Mechanics Research Trends [1 ed.] 9781611228892, 9781608760572

Computational mechanics is the discipline concerned with the use of computational methods to study phenomena governed by

147 43 53MB

English Pages 608 Year 2010

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Computational Mechanics Research Trends [1 ed.]
 9781611228892, 9781608760572

Citation preview

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

COMPUTER SCIENCE, TECHNOLOGY AND APPLICATIONS

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

COMPUTATIONAL MECHANICS RESEARCH TRENDS

No part of this digital document may be reproduced, stored in a retrieval system or transmitted in any form or by any means. The publisher has taken reasonable care in the preparation of this digital document, but makes no expressed or implied warranty of any kind and assumes no responsibility for any errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of information contained herein. This digital document is sold with the clear understanding that the publisher is not engaged in rendering legal, medical or any other professional services.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

COMPUTER SCIENCE, TECHNOLOGY AND APPLICATIONS Mobile Computing Research and Applications Kevin Y. Chen and H.K. Lee (Editors) 2009. ISBN 978-1-60741-101-7

Computer Animation Jaron S. Wright and Lloyd M. Hughes (Editors) 2010. ISBN: 978-1-60741-559-6

Large Scale Computations, Embedded Systems and Computer Security Fedor Komarov and Maksim Bestuzhev (Editors) 2009. ISBN: 978-1-60741-307-3

Java Software and Embedded Systems Mattis Hayes and Isaiah Johansen (Editors) 2010. ISBN: 978-1-60741-661-6

Problem Solving with Delphi CD included Stephen John Sugden 2009. ISBN 978-1-60741-249-6

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Performance Modelling Techniques for Parallel Supercomputing Applications A. Grove and P.D. Coddington 2010. ISBN: 9781-60692-269-9 Relational Databases and Open Source Software Developments Jennifer R. Taylor (Editor) 2010. ISBN: 978-1-61668-436-5 2010. ISBN: 978-1-61668-468-6 (E-book) Biometrics: Methods, Applications and Analyses Harvey Schuster and Wilfred Metzger (Editors) 2010. ISBN: 978-1-60876-412-9 Data Mining and Management Lawrence I. Spendler (Editor) 2010. ISBN: 978-1-60741-289-2

Computer Games: Learning Objectives, Cognitive Performance and Effects on Development Agustin Soria and Julián Maldonado (Editors) 2010. ISBN: 978-1-60876-658-1 Computer Communication for Metropolitan and Wide Area Networks Matthew N. O. Sadiku and Sarhan M. Musa 2010. ISBN: 978-1-61668-024-4 Peer-to-Peer Networks and Internet Policies Diego Vegros and Jaime Sáenz (Editors) 2010. ISBN: 978-1-60876-287-3 Computational Mechanics Research Trends Hans P. Berger (Editor) 2010. ISBN: 978-1-60876-057-2 Design and Performance of Biometric System John T. Elsworth (Editor) 2010. ISBN: 978-1-60692-978-0 2010. ISBN: 978-1-61668-524-9 (E-book)

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Intuition and Computer Programming (WT) Michael Weigend 2010. ISBN: 978-1-61668-330-6 2010. ISBN: 978-1-61668-813-4 (E-book)

Peer-to-Peer Storage: Security and Protocols Nouha Oualha and Yves Roudier 2010. ISBN: 978-1-61668-199-9 2010. ISBN: 978-1-61668-462-4 (E-book)

Biometrics, Privacy, Progress and Government Rachel B. Jefferson (Editor) 2010. ISBN: 978-1-60741-098-0

Persuasion On-Line and Communicability: The Destruction of Credibility in the Virtual Community and Cognitive Models Francisco V. Cipolla-Ficarra 2010. ISBN: 978-1-61668-268-2 2010. ISBN: 978-1-61668-701-4 (E-book)

Agent-Based Computing Duarte Bouça and Amaro Gafagnão (Editors) 2010. ISBN: 978-1-60876-684-0 Wireless Sensor Networks Liam I. Farrugia (Editor) 2010. ISBN: 978-1-61728-125-9 2010. ISBN: 978-1-61728-328-4 (E-book)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

3D Imaging: Theory, Technology and Applications Emerson H. Duke and Stephen R. Aguirre (Editors) 2010. ISBN: 978-1-60876-885-1

Semantic Web: Standards, Tools and Ontologies Kimberly A. Haffner (Editor) 2010. ISBN: 978-1-61668-471-6 2010. ISBN: 978-1-61668-540-9 (E-book) Logic of Analog and Digital Machines Paolo Rocchi 2010. ISBN: 978-1-61668-481-5 2010. ISBN: 978-1-61668-815-8 (E-book) Practice and Research Notes in Relational Database Applications Haitao Yang 2010. ISBN: 978-1-61668-850-9 2010. ISBN: 978-1-61728-460-1 (E-book)

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

COMPUTER SCIENCE, TECHNOLOGY AND APPLICATIONS

COMPUTATIONAL MECHANICS RESEARCH TRENDS

HANS P. BERGER

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

EDITOR

Nova Science Publishers, Inc. New York

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010 by Nova Science Publishers, Inc.

All rights reserved. No part of this book may be reproduced, stored in a retrieval system or transmitted in any form or by any means: electronic, electrostatic, magnetic, tape, mechanical photocopying, recording or otherwise without the written permission of the Publisher. For permission to use material from this book please contact us: Telephone 631-231-7269; Fax 631-231-8175 Web Site: http://www.novapublishers.com NOTICE TO THE READER The Publisher has taken reasonable care in the preparation of this book, but makes no expressed or implied warranty of any kind and assumes no responsibility for any errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of information contained in this book. The Publisher shall not be liable for any special, consequential, or exemplary damages resulting, in whole or in part, from the readers’ use of, or reliance upon, this material. Any parts of this book based on government reports are so indicated and copyright is claimed for those parts to the extent applicable to compilations of such works.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Independent verification should be sought for any data, advice or recommendations contained in this book. In addition, no responsibility is assumed by the publisher for any injury and/or damage to persons or property arising from any methods, products, instructions, ideas or otherwise contained in this publication. This publication is designed to provide accurate and authoritative information with regard to the subject matter covered herein. It is sold with the clear understanding that the Publisher is not engaged in rendering legal or any other professional services. If legal or any other expert assistance is required, the services of a competent person should be sought. FROM A DECLARATION OF PARTICIPANTS JOINTLY ADOPTED BY A COMMITTEE OF THE AMERICAN BAR ASSOCIATION AND A COMMITTEE OF PUBLISHERS. LIBRARY OF CONGRESS CATALOGING-IN-PUBLICATION DATA Computational mechanics research trends / editors, Hans P. Berger. p. cm. Includes bibliographical references and index. ISBN:  (eEook) 1. Materials--Mathematical models. 2. Materials--Computer simulation. 3. Mechanical engineering-Mathematics. 4. Mechanics, Analytic. I. Berger, Hans P. TA404.8.C67 2009 621.01'51--dc22 2009031984

Published by Nova Science Publishers, Inc. New York

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

CONTENTS

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Preface

ix

Chapter 1

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle Li Xiang and Serge Cescotto

Chapter 2

Numerical and Theoretical Investigations of the Tensile Failure of Shrunk Cement-Based Composites J.X. Liu, Z.Y. Zhao and N.G. Liang

111

Chapter 3

Recent Advances in the Static Analysis of Stiffened Plates – Application to Concrete or to Composite Steel-Concrete Structures E.J. Sapountzakis

149

Chapter 4

A Spring-Based Finite Element Model for the Prediction of Mechanical Properties of Carbon Nanotubes and their Composites S.K. Georgantzinos, G.I. Giannopoulos and N.K. Anifantis

189

Chapter 5

Computational Mechanics of Molecular Systems Dmitry Nerukh and Vladimir Ryabov

219

Chapter 6

Meshless Approach and its Application in Engineering Problems Qing-Hua Qin

249

Chapter 7

Explicit Dynamic Finite Element Method for Fracture of Shells Jeong-Hoon Song and Thomas Menouillard

291

Chapter 8

Probabilistic Interpretations of the TLM Numerical Method D. de Cogan, A. de Cogan and P. Chardaire

319

Chapter 9

Some Observations on Accelerated Numerical Schemes for the Laplace Equation D. de Cogan and X. Gui

341

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

1

viii

Contents

Chapter 10

In Search of Improvements for the Computational Simulation of Internal Combustion Engines Ezequiel J. López, Jorge A. Toth, Norberto M. Nigro and Mario A. Storti

365

Chapter 11

MPI and PETSc for Python Lisandro D. Dalcín, Pablo A. Kler, Mario A. Storti and Rodrigo R. Paz

453

Chapter 12

Domain Decomposition Methods in Computational Fluid Dynamics Rodrigo R. Paz, Mario A. Storti, Lisandro D. Dalcín and Gustavo Ríos Rodríguez

495

Chapter 13

Mesh Adaptation Algorithm Based on Gradient of Strain Energy Density Yunhua Luo

557

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Index

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

579

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

PREFACE Computational mechanics is the discipline concerned with the use of computational methods to study phenomena governed by the principles of mechanics. Before the emergence of computational science (also called scientific computing) as a "third way" besides theoretical and experimental sciences, computational mechanics was widely considered to be a sub-discipline of applied mechanics. It is now considered to be a sub-discipline within computational science. Computational mechanics (CM) is interdisciplinary. Its three pillars are mathematics, computer science, and mechanics. Computational fluid dynamics, computational thermodynamics, computational electromagnetics, computational solid mechanics are some of the many specializations within CM. Some examples where computational mechanics have been put to practical use are vehicle crash simulation, petroleum reservoir modeling, biomechanics, glass manufacturing, and semiconductor modeling. In the last century, especially in the second half thereof, computational mechanics has had profound influences on science and technology. Complex systems that would be very difficult or impossible to treat using analytical methods have been successfully simulated using the tools provided by computational mechanics. With the incorporation of quantum, molecular and biological mechanics into new models, CM is poised to play an even bigger role in the future. This new and important book gathers the latest research from around the globe in this dynamic field. The natural neighbour method is a variant of the meshless method. Classically, the development of this method is based on the virtual work principle: a set of nodes are distributed over the domain to be studied and the displacement field is discretized with the help of interpolation functions that are not based on the finite element concept but only based on the nodes. In Chapter 1, a new approach based on the Fraeijs de Veubeke (FdV) [4] functional is proposed. For linear elastic problems, this functional allows independent assumptions on the displacements u i , the stresses Σ ij , the strains ε ij and the surface support reactions ri . In the natural neighbour method, the domain contains N nodes (including nodes on the domain contour) and the N Voronoi cells corresponding these nodes are built. The following discretization hypotheses are admitted: 1. The assumed strains are constant over each Voronoi cell I: ij  ijI

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

x

Hans P. Berger 2. The assumed stresses are constant over each Voronoi cell I:  ij   ijI 3. The assumed support reactions are constant over each edge K of Voronoi cells on which displacements are imposed: ri  riK N

4. The assumed displacements are interpolated by : ui 

  J uiJ

J 1 J with  J the Laplace interpolation function and u i is the displacement of node J.

Introducing these assumptions in the FdV functional produces a new method to solve linear elastic problems. It has the following characteristics: 1. In the absence of body forces, the calculation of integrals over the area of the domain is avoided: only integrations on the edges of the Voronoi cells are required. 2. The derivatives of the interpolation functions are not required. 3. Despite of the rich initial discretization, the method eventually leads to a system of ~ equations of the classical type M q  Q with M  a symmetric matrix, q the set ~ of unknown nodal displacements and Q equivalent nodal forces.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 

4. Problems involving nearly incompressible materials are solved without locking. The extension to materially non linear problems is based on a variational equation constituting an extension of the FdV variational principle. The discretization remains the same as in the linear elastic case except that strains are replaced by strain rates and displacements by velocities. The 4 above mentioned properties remain valid. For linear fracture mechanics, a node is located at the crack tip and, in the Voronoi cell containing that node, the stress and the strain discretizations include not only a constant term but also additional terms corresponding to the solutions of fracture mechanics for modes I and II. The 4 above mentioned properties remain valid and the stress intensity coefficients are obtained as primary variables of the solution. Existing micromechanical models of cement-based composites generally only take into account the material heterogeneity due to inclusion of aggregates. However, before failure experiments are conducted, early-age shrinkage leads to appearance of pre-existing cracks and non-zero stress field, both of which are expected to influence mechanical properties of media. Therefore, tensile fracture analyses of SHRUNK concretes are carried out for a better understanding of their micro-level failure mechanisms. For this purpose, numerical shrunk concrete specimens need to be produced at first. As a solution, a numerical procedure recently proposed is adopted to simulate cracking processes induced by mismatch between the matrix phase and aggregates due to matrix shrinkage. This kind of failure processes is simplified as a purely spontaneous mechanical problem. Critical elements are detected successively by the event-by-event technique. The micro structure of composites is implemented by employing the generalized beam (GB) lattice model. Then, critical equilibrium states during the shrinkage process are chosen as initial states of further tensile experiments. Compared with affects of pre-existing cracks which have been investigated frequently, analysis on influences of shrinkage induced stress on tensile failures is a relatively novel

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Preface

xi

topic. Therefore, the latter is studied in more detail, and a theoretical explanation is provided based on the simple parallel bar model. Tensile tests are conducted on shrunk specimens. Several new failure mechanisms such as residual deformation are found in fracture processes. Influences of the shrinkage rate are also discussed in Chapter 2. In Chapter 3, an improved model for the static analysis of reinforced concrete plates stiffened by arbitrarily placed parallel reinforced concrete or steel beams with deformable connection taking into account the influence of creep and shrinkage effects relative with the time of the casting and the time of the loading of the plate and the beams is presented. According to the proposed model, the stiffening beams are isolated from the plate by sections in the lower outer surface of the plate, making the hypothesis that the plate and the beams can slip in all directions of the connection without separation (i.e. uplift neglected) and taking into account the arising tractions in all directions at the fictitious interfaces. These tractions are integrated with respect to each half of the interface width resulting two interface lines, along which the loading of the beams as well as the additional loading of the plate is defined. Their unknown distribution is established by applying continuity conditions in all directions at the interfaces taking into account their relation with the interface slip through the shear connector stiffness. The utilization of two interface lines for each beam enables the nonuniform distribution of the interface transverse shear forces and the nonuniform torsional response of the beams to be taken into account describing better in this way the actual response of the plate - beams system. The analysis of both the plate and the beams is accomplished on their deformed shape taking into account second-order effects. Six boundary value problems are formulated and solved using the Analog Equation Method (AEM), a BEM based method. The solution of the aforementioned plate and beam problems, which are nonlinearly coupled, is achieved using iterative numerical methods. The adopted model describes better the actual response of the plate - beams system and permits the evaluation of the shear forces at the interfaces in both directions, the knowledge of which is very important in the design of prefabricated ribbed plates. The evaluated lateral deflections of the plate - beams system are found to exhibit considerable discrepancy from those of other models, which neglect inplane and axial forces and deformations. Numerical examples with great practical interest are presented. Chapter 4 presents a computational method for the evaluation of elastic properties of carbon nanotubes and their composites as well as the vibrational characteristics of individual carbon nanotubes. Concerning the nanotube modeling, the method utilizes the three dimensional atomistic microstructure of the nanotube defining nodes at the corresponding atomic position of carbon atoms. Appropriate spring elements include directly the physical variables provided by molecular mechanics theory as well as interconnect the atoms in order to simulate accurately the interatomic interactions. For the dynamical treatment of carbon nanotubes, lumped masses are additionally distributed on nodes of spring elements in order to obtain the mass of carbon atom at every atomic position. Regarding carbon nanotubes reinforced composites modeling, an appropriate three dimensional cylindrical representative volume element is adopted according to micromechanical analysis. The reinforcing material concerned as discrete and continuous and is modeled via the spring-based model, while the matrix is regarded as continuum and its response is approached via three diamensional finite volume elements. The coupling between reinforcement and matrix is achieved with spring elements that simulate the interfacial region by a discrete way. The modelling is regenerative and can provide simulations for different geometric characteristics of the nanotubes.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

xii

Hans P. Berger

Numerous results relating to the mechanical properties of carbon nanotubes and their composites versus geometrical and physical parameters are presented. Comparisons with other theoretical and experimental approaches, where they are possible, demonstrate the accuracy of the method. A framework that connects Computational Mechanics and molecular dynamics has been developed and described. As the key part of the framework the problem of symbolising molecular trajectory and the associated interrelation between microscopic phase space variables and macroscopic observables of the molecular system are considered. Following Shalizi and Moore it is shown that causal states, the constituent parts of themain construct of ComputationalMechanics, є-machine, define areas of the phase space that are optimal in the sense of transferring information from the microvariables to the macro-observables. The authors have demonstrated that these areas of the phase space can be divided into two classes according to their Poincare return times. The first class is characterised by predominantly short time returns, typical to quasiperiodic trajectories of the dynamical system. This class includes a limited number of areas that are robust with respect to different total length of the molecular trajectory. The second class has a chaotic behaviour of the return times distributed exponentially in accordance with the Poincare theorem. In contrast to the first class, the number of such areas grows logarithmically with the length of the trajectory. The authors put forward and numerically illustrate a hypothesis that explains this behaviour by the presence of temporal non-stationarity in molecular trajectory. In Chapter 6, a meshless method is introduced for analyzing heat conduction, non-linear Poisson-type problems, thin plate bending on an elastic foundation, and functionally graded materials (FGM). In the meshless algorithm, the analog equation method (AEM) is used to obtain the equivalent homogeneous system to the original governing equation. After which MFS and RBF interpolation are used to construct the corresponding approximated particular part and complementary part, respectively. Finally, all unknowns are determined by satisfying boundary conditions and the governing equations in terms of potential, plate deflection, or displacement components at certain points, depending on the problem to be solved. Numerical examples are considered for square plate on a Winkler elastic foundation, different 2D structures made of FGM, and 2D standard Poisson equations. The numerical results are presented for each of the problems mentioned and comparison is made with those from other methods. Explicit dynamic simulation of crack propagation in shell structures is engendering considerable interest in the industrial communities because many components where fracture is of concern are not amenable to three dimensional solid modeling. Furthermore, fracture is often an important criterion in determining their performance and design. Our motivation in presenting this work is to illustrate a new method which is efficient for dynamic fractures of thin shells. In Chapter 7, the authors describe a method for modeling fractured shell elements based on the extended finite element method (XFEM) (Belytschko and Black 1999, Moës et al. 1999). One of the underlying key concepts in the XFEM is the partition of unity approach (Melenk and Babuska 1996, Babuska and Melenk 1997). In the partition of unity approach, the approximation basis is spanned by the standard finite element approximation space and extended by the products of the standard finite element shape functions with special local characteristic functions which are constructed from knowledge about the solution. The XFEM has since been developed for two dimensional dynamic fracture problems (Belytschko et al.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Preface

xiii

2003, Song et al. 2006), static shell fractures (Areias and Belytschko 2005), and implicit dynamic shell fracture problems (Areias et al. 2006). As explained in Chapter 8, within the area of Transmission Line Matrix (TLM) modelling, the analogies between these schemes and random walks (simple and correlated) are perhaps most familiar to those who study lossy propagation. This is in part because any attempt to invoke such techniques with wave propagation have, until now, had to contend with the apparent anomaly of a negative transition probability. This paradox is addressed in terms of walker-pairs, which permit the use of a probabilistic interpretation over the entire range of scattering parameters. Any conventional TLM model can now be simulated as a concurrent set of random walks, and although the computational effort may be prohibitive, it does permit us to develop an entirely particle-based approach to phenomena such as wave propagation and diffraction, including single photon diffraction. In Chapter 9, various accelerated numerical schemes for the finite difference solution of the Laplace equation are 'reverse engineered' to characterise the underlying partial differential equation which each represents. Some clearly model a diffusion equation, while others are in fact forms of telegrapher's equation. One and two-step spectral methods are used in an exercise which correlates the associated acceleration factors with the optimum convergence conditions which are observed in numerical experiments. The modeling of internal combustion engines is a multidisciplinary subject that involves chemical thermodynamics, fluid mechanics, turbulence, heat transfer, combustion, and numerical methods. In Chapter 10, the authors focus on some aspects of the computational resolution of the fluid dynamic problem. The authors present strategies designed in order to improve the simulation tools available today. A Computational Mesh Dynamics (CMD) to solve the movement of the mesh is presented. This kind of techniques are useful when an Arbitrary Lagrangian Eulerian (ALE) method is applied in the resolution of flows on moving domains. For in-cylinder flows in internal combustion engines, the domain has a very high relative deformation and even changes on its topology. This demands a CMD strategy with great robustness to avoid the deterioration of the grid quality and to reduce at minimum possible the number of remeshing needed in the whole simulation. The CMD strategy proposed is based on an optimization problem solved in a global way. The strategy can handle meshes with inverted elements, being a simultaneous mesh untangling and smoothing method. The flow inside of an internal combustion engine is characterized by a low Mach number, except in the early moments in which the exhaust valve (or port) is opened. The numerical methods for compressible flow based on the density fail when they are applied to flows with low Mach numbers, which is due to the ill-conditioning of the system of equations. For this reason, it is necessary to apply a technique that allows the resolution of compressible flows in all the range of Mach numbers, especially in the low Mach limit. Here, the authors apply the method of preconditioning of the equations in conjunction with the dual time stepping technique. The preconditioning matrix used was originally designed by Choi and Merkle to solve steady compressible flows with the Finite Volume Method. The authors adapt this matrix to the unsteady flows case via an eigenvalues analysis of the system. A stabilized Finite Element formulation for the preconditioned system of equations is presented. The dynamic boundary conditions on inlet/outlet of the 3D problem are obtained by using a code with thermodynamic (0D) and gas-dynamic (1D) models. Therefore, the need to couple appropriately the solutions obtained in the computational 1D and 3D domains arises.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

xiv

Hans P. Berger

The authors propose a coupling strategy of 1D/multi-D domains for compressible flows based on constraints of the state at the coupling section. Finally, these tools are applied to solve the fluid flow in the novel rotative engine MRCVC. Chapter 11 reports the authors’ attempts to facilitate the access to high-performance parallel computing resources within a Python programming environment. The outcome of this effort are two open source and public domain packages, MPI for Python (known in short as mpi4py) and PETSc for Python (known in short as petsc4py). MPI for Python [1, 2, 3], is an open-source software project that provides bindings of the Message Passing Interface (MPI) standard for the Python programming language and targets the development of parallel application codes in Python. Its facilities allow parallel Python programs to easily exploit multiple processors. MPI for Python employs any back-end MPI implementation, thus being immediately available on any parallel environment providing access to any MPI library. PETSc for Python [4] is an open-source software project that provides access to the Portable, Extensible Toolkit for Scientific Computation (PETSc) libraries within the Python programming language. Its facilities allow sequential and parallel Python applications to exploit state of the art algorithms and data structures readily available in PETSc. In Chapter 12, the development of a parallelizable preconditioner for domain decomposition methods in the context of Finite Element solution of partial differential equations arising in the context of CFD problems is studied. The preconditioner is based on solving a problem in a narrow strip around the interface of the partitioned problem. The theoretical basis and concepts that inspired the proposition of this interface strip preconditioner (ISP) are presented. The performance of this preconditioner (that has been implemented in a FEM production code called PETSC-FEM) is assessed with an analytical study of Schur complement matrix eigenvalues and numerical experiments conducted in a parallel computational environment. Also, the authors compare the convergence to the analytical solution or measured data for problems that have been considered as ‘benchmarks’ in the computational fluid dynamic literature. For this purpose, the authors study the solution obtained via parallelized iterative methods that have been extensively used (e.g. preconditioned CG and GMRES global iteration and its variants, Additive Schwarz preconditioners) in CFD computations and those obtained with the Interface Strip preconditioner for the Schur Complement method. In Chapter 13, an adaptive finite element method is formulated based on the newly developed nearest-nodes finite element method (NN-FEM). In the adaptive NN-FEM, mesh modification is guided by the gradient of strain energy density, i. e., a larger gradient requires a denser mesh and vice versa. A finite element mesh is iteratively modified by a set of operators, including mesh refinement, mesh coarsening and mesh smoothing, to make its density conform with the gradient of strain energy density. The selection of a proper operator for a specific mesh region is determined by a set of criteria that are based on mesh intensity. The iteration loop of mesh modification is stopped when the relative error in the total potential energy is less than a prescribed accuracy. Numerical examples are presented to demonstrate the performance of the proposed adaptive NN-FEM.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In: Computational Mechanics Research Trends Editor: Hans P. Berger, pp. 1-109

ISBN: 978-1-60876-057-2 © 2010 Nova Science Publishers, Inc.

Chapter 1

A NATURAL NEIGHBOUR METHOD BASED ON FRAEIJS DE VEUBEKE VARIATIONAL PRINCIPLE L.I. Xiang1,2 and Serge Cescotto1 1

ArGEnCo Department, University of Liège, Belgium 2 Dalian University of Technology, R.P. China

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Abstract The natural neighbour method is a variant of the meshless method. Classically, the development of this method is based on the virtual work principle: a set of nodes are distributed over the domain to be studied and the displacement field is discretized with the help of interpolation functions that are not based on the finite element concept but only based on the nodes. In the present chapter, a new approach based on the Fraeijs de Veubeke (FdV) [4] functional is proposed. For linear elastic problems, this functional allows independent assumptions on the

u i , the stresses Σ ij , the strains ε ij

and the surface support reactions ri . In the natural neighbour method, the domain contains N nodes (including nodes on the domain contour) and the N Voronoi cells corresponding these nodes are built. The following discretization hypotheses are admitted: displacements

I 1. The assumed strains are constant over each Voronoi cell I: ij  ij I 2. The assumed stresses are constant over each Voronoi cell I:  ij   ij

3. The assumed support reactions are constant over each edge K of Voronoi cells on which displacements are imposed: ri  riK N

4. The

assumed

displacements

are

interpolated

by

:

ui 

  J uiJ

J 1 J with  J the Laplace interpolation function and u i is the displacement of node J.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

2

L.I. Xiang and Serge Cescotto Introducing these assumptions in the FdV functional produces a new method to solve linear elastic problems. It has the following characteristics: 1. 2. 3.

In the absence of body forces, the calculation of integrals over the area of the domain is avoided: only integrations on the edges of the Voronoi cells are required. The derivatives of the interpolation functions are not required. Despite of the rich initial discretization, the method eventually leads to a system of

4.

Problems involving nearly incompressible materials are solved without locking.

~ ~ set of unknown nodal displacements and Q  equivalent nodal forces.

equations of the classical type M q  Q with M  a symmetric matrix, q the

The extension to materially non linear problems is based on a variational equation constituting an extension of the FdV variational principle. The discretization remains the same as in the linear elastic case except that strains are replaced by strain rates and displacements by velocities. The 4 above mentioned properties remain valid. For linear fracture mechanics, a node is located at the crack tip and, in the Voronoi cell containing that node, the stress and the strain discretizations include not only a constant term but also additional terms corresponding to the solutions of fracture mechanics for modes I and II. The 4 above mentioned properties remain valid and the stress intensity coefficients are obtained as primary variables of the solution.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Introduction The natural neighbour method [5] can be considered as one of the many variants of the meshless methods [20, 13, 14]. Classically, the development of these methods is based on the virtual work principle. A set of nodes are distributed over the domain to be studied and the displacement field is discretized with the help of interpolation functions that are not based on the finite element concept but only based on the nodes. Typically, for a 2-dimensional elastic solid occupying the domain A , one has the following steps.

Virtual Work Principle

  ij  ij dA   Fi ui dA   Ti u i dS  0 A

 ij 

A

St

1 u i u j (  ) are the virtual strains associated with the virtual displacements ui 2 X j X i

 ij are the Cauchy stresses deduced from the actual displacements u i by Hooke’s law: u 1 u ij  Cijkl  kl with  kl  ( k  l ) . 2 X l X k

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

3

Ti are the surface tractions and Fi the body forces applied to the solid. St is the part of the domain boundary where surface tractions are applied. Usually, displacements u~ are imposed on the part S of the solid boundary. i

u

Approximation of the Displacement Field N

ui 

  J uiJ

J 1

 J   J ( X1 , X 2 ) are the approximation functions uiJ are the nodal displacements

There are many different methods to choose this approximation. Sometimes, it can be an interpolation as in the natural element method, i.e. the functions  J satisfy the following requirements: 0   J  1 ,  J ( X1I , X 2I )   IJ : Kronecker delta property N

  J ( X1 , X 2 )  1

J 1

: partition of unity property

N

 X iJ  J ( X1 , X 2 ) X iJ

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

J 1

: linear completeness

But in some cases, as for the moving least square approximation [15], the partition of unity property is not fulfilled so that the approximate nodal values are not equal to the exact nodal values: ui ( X1K , X 2K ) 

N

  J ( X1J , X 2J )uiJ  uiK

J 1

Discretized Virtual Work Principle N



J 1





A

St



uiJ ij B Jj dA  A

N

 uiJ PiJ  0

J 1

 ij B j dA  Pi J

J

A

PiJ  Fi  J dA  Ti  J dS are the approximate (discretized) nodal loads

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

4

L.I. Xiang and Serge Cescotto

B Jj is the matrix relating the virtual strains to the virtual nodal displacements: N

ij 

 B Jj uiJ

J 1

With this approach, two points deserve special attention in meshless methods: the numerical evaluation of the integrals over the domain A and the enforcement of boundary conditions of the type ui  u~i on Su . For the numerical integration, the most common practice is to use a “background mesh”, that is to divide the domain A in sub-domains of simple shape (usually triangles and quadrangles) in which classical numerical quadrature rules can be applied. More sophisticated methods [16, 17, 5] take account of the shape of the support of the approximation function, i.e. of the area where this function is not equal to zero. Generally, such methods do not give excellent results for the patch test [5]. Recently, a “stabilized conforming nodal integration for Galerkin meshfree methods” [18, 19] has been proposed, the basic idea of which consists in averaging the strains  kl in the vicinity of a node I over the Voronoi cell AI associated with this node:

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 kl 

1 AI



kl

dAI 

AI

1 2 AI

 (N u

k l

 Nl uk )dCI

CI

where C I is the contour of the Voronoi cell AI and N  ( N1, N2 ) is the unit outward normal to C I . This idea has been successfully used [8, 19, 5, 27], giving excellent results. In particular, in [8], the stresses in the Voronoi cells are deduced from the averaged strains. The application of the divergence theorem avoids the numerical integration on the cell domain and replaces it by an integral on its contour, a property that will be recovered in the present approach based on the Fraeijs de Veubeke variational principle. In [28], an “enriched free mesh method” based on Heilinger-Reissner principle is proposed in which a hypothesis on the strains in a cluster of triangular finite elements surrounding a node is made. To some extend, this approach is also a kind of strain averaging procedure in the vicinity of a node. For the enforcement of boundary conditions of the type ui  u~i on Su , there is a basic problem if the approximation functions  J do not possess the partition of unity property. Indeed, in such a case, the approximated nodal displacements at a node K ui ( X1K , X 2K ) 

N

  J ( X1K , X 2K )uiJ

J 1

cannot be equal to a displacement u~iK imposed to this node. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

5

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle N

Nevertheless, in [20], the condition

 J ( X1J , X 2J )uiJ  u~iK

is imposed as an

J 1

approximation. Many different solutions have been proposed to remedy this difficulty: connexion with finite elements [25, 13], modified variational principle with penalty [23, 24], modified variational principle with [21] or without [22] Lagrange multipliers, introduction of singular weighting functions [26], … On the other hand, the difficulty disappears if ( X1, X 2 ) varies linearly when point X  ( X1, X 2 ) moves between 2 neighbour nodes belonging to the contour.

We will see (Annex 2) that it is the case in the present paper where the Laplace interpolant [10,11] is adopted for ( X1, X 2 ) . In the present paper, a new approach of the natural neighbour method is proposed that provides an original treatment of these two problems. The basic idea is to start with the Fraeijs de Veubeke (FdV) variational principle and to discretize not only the displacement field but also the stress field and the strain field inside the domain as well as the field of the support reactions on the part Su of the domain contour where displacements u~ are imposed.. i

In the absence of body forces ( Fi  0 ), it will be shown that the calculation of integrals of the type  dA can be avoided and that boundary conditions of the type u  u~ on S can



i

i

u

A

be imposed in the average sense in general and exactly if u~i is linear between two contour nodes, which is obviously the case for u~  0 .

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

i

Linear Elastic Theory The Fraeijs de Veubeke Functional In the original paper of 1954 by HU Hai Chang [1], the following functional is proposed for linear elasticity problems:



 N j  jiu~i dS   ui ( N j  ji  Ti )dS

A

Su

  LU dA 

(1)

St

with LU 

 ij X j

ui  Fi ui  ij  ij  W ( ij )

(2)

with A the area of the domain (i.e. the 2D solid), S the contour of the domain, N j the outward normal to this contour, S t and S u the parts of S on which surface tractions Ti and displacements u~ are respectively imposed. i

This functional has 3 fields: Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

6

L.I. Xiang and Serge Cescotto   ( ui ,ij ,ij ) ui

: the displacement field

 ij

: the stress field

 ij

: the strain field

The variable W ( ij ) is the energy density function from which the constitutive stresses  ij can be deduced by  ij 

W  ij

(3)

It is easy to show that (1) is equivalent to:  1 u  u j ( ui , ij , ij )  W ( ij ) dA  ij  ( i  )  ij  dA  2 X j X i  A A 









 N j  ji ( u~i  ui ) dS

A

St

Su

 Fi ui dA  Ti ui dS 

(4)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

This functional was also proposed independently by WASHIZU [2] in 1955. However, an article published in 2000 by FELIPPA [3] shows that the same functional had also been proposed as early as 1951 by FRAEIJS de VEUBEKE [4]. This functional can be written as follows.  1 u  u j ( ui ,ij ,ij ,ri )  W ( ij )dA  ij  ( i  )  ij  dA  2 X j X i  A A









 ri ( u~i  ui ) dS

A

St

Su

 Fi ui dA  Ti ui dS 

(5)

It has an additional independent field ri that can be identified as assumed support reactions applied on Su .

The Fraeijs de Veubeke Variational Principle The variation of   ( ui ,ij ,ij ,ri ) can be written as follows:





A

A

1  W (  ij )dA  ij  ij dA

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(6)

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle  1 u u j  i   2  ij  ( )  ij  dA X i  2 X j 



7

(7)

A

 1 u  u j 3  ij  ( i  )  ij  dA  2 X j X i  A





 4   Fi ui dA

(8)

(9)

A



 5   Ti ui dS

(10)

St

 6 

 ri ( u~i  ui ) dS   ri ui dS Su

(11)

Su

  1  2  3  4  5  6  0

(12)

The first term of (7) can be integrated by parts:  1 u

u j   ji ) dA  N j  ji ui dS  ui dA X j 

 ij  2 ( X ji  X i Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

A





S

A

(13)

with

 N j  ji ui dS   N j  ji ui dS   N j  ji ui dS S

Su

(14)

St

For the linear elastic case, the following classical equations are used:  ij 

W (  ij )  ij

(15)

and W (  ij ) 

1 Cijkl  ij  kl 2

(16)

where Cijkl is the classical Hooke’s tensor. Introducing these results in (12), the Euler equations corresponding to the FdV variational principle are obtained. They are summarized in table 1.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

8

L.I. Xiang and Serge Cescotto Table 1. The Euler equations deduced from the FdV variational principle Variation

Equation

 ij in A

ij  ij

ij in A

ri on Su ui in A

Comments The assumed stresses are identified as the constitutive stresses inside the domain

u j 1 ui (  )   ij Compatibility between the assumed strains and the 2 X j X i assumed displacements inside the domain

ui  u~i  ji X j

 Fi  0

ui on St

N j  ji  Ti

ui on Su

N j  ji  ri

Compatibility between the assumed displacements and the displacements imposed on the part Su of the domain contour Equilibrium inside the domain between the assumed stresses and the body forces Equilibrium on the part St of the domain contour where surface tractions are imposed Equilibrium on the part Su of the domain contour where displacements are imposed

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Domain Decomposition and Discretization In the natural neighbour method, the domain contains N nodes (including nodes on the domain contour) and the N Voronoi cells corresponding these nodes are built. In this paper, we use the concept of “constraint natural neighbour method” that allows to treat the case of a domain with a non convex contour [8, 9,27]. Some details are given in Annex 1. A Voronoi cell having at least 1 edge belonging to the domain contour is called an exterior Voronoi cell. The corresponding node does not necessarily belong to the domain contour as can be seen in the examples of Annex 1. A Voronoi cell no edge of which belongs to the domain contour is called an interior Voronoi cell. The corresponding node is inside the domain. The area of the domain is: N

A

 AI

(17)

I 1

with AI the area of Voronoi cell I. We denote C I the contour of Voronoi cell I. In (10) and (11), some integrals are computed along the domain contour. This contour is the union of some of the edges of the exterior Voronoi cells. These edges are denoted by S K and we have

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle Mu

M

S

SK ;

K 1

Su 

Mt

SK ;

St 

K 1

SK ;

S  Su  St  M  Mu  Mt

9

(18)

K 1

where M is the number of edges composing the contour, Mu the number of edges on which displacements u~i are imposed and Mt the number of edges on which surface tractions Ti are imposed. Then N

1 

  ij ij dAI

(19)

I 1 AI

 1 u

N

 2 

u j

  ij  2 ( X ji  X i I 1 AI



 1 u

N

 3 

 )   ij dAI  

u j

  ij  2 ( X ij  X i )  ij dAI I 1 AI



(20)

(21)



N

 4  

  Fi ui dAI

(22)

I 1 AI

 5  

Mt

  Ti ui dS K

(23)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

K 1 S K Mu 

   ~  6   ri ( ui  ui ) dS K  ri ui dS K  K 1 S K  SK

 



(24)

We admit the following discretization hypotheses: The assumed strains  ij are constant over each Voronoi cell I: ij  ijI

(25)

The assumed stresses  ij are constant over each Voronoi cell I:  ij   ijI

(26)

The assumed support reactions ri are constant over each edge K of Voronoi cells on which displacements are imposed:

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

10

L.I. Xiang and Serge Cescotto ti  tiK

(27)

The assumed displacements u i are interpolated by Laplace interpolant [10,11]: N

  J uiJ

ui 

(28)

J 1

where u iJ is the displacement of node J (corresponding to the Voronoi cell J). Note that the Sibson interpolant [12] could be used as well. Some details on the Laplace interpolant are given in annex 2. As a consequence of (15) and (25), the stresses  ij are constant over each Voronoi cell I: ij  ijI

(29)

The variations of the independent variables are:  ij   ijI

(30)

ij  ijI

(31)

ri  riK

(32)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

N

ui 

 I uiI

(33)

I 1

Introducing these assumptions in (19) to (21), and integrating by parts, we get: N

1 

ijI ijI AI

(34)

I 1

N

 2 

N  1 ui u j   ) dAI   ijI  ijI AI  ( 2  X  X  j i  I 1 AI 

   ijI

I 1

N





   ijI

I 1

CI

N Ij ui dC I 

N

 ijI  ijI AI I 1

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(35)

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle N

 3 



N  1 ui u j   ) dAI   ijI  ijI AI  ( 2  X  X  j i  I 1 AI 





 ijI

I 1 N





 ijI

I 1



N Ij ui dC I 

CI

Mu 

 6 

11

N

 ijI ijI AI I 1

  K ~  u ) dS  r K u dS   r ( u i i K i i K  i K 1   SK SK



(36)





(37)

where N Ij is the unit outward normal to the contour of Voronoi cell I. Introducing these results in (12), we get:   VA  VC   DC   EF  0

(38)

with N

VA 



( ijI  ijI )ijI AI 

I 1

N

VC 

 

N Ij ui dC I 

ijI  N Ij u dC I





N



Fi ui dAI 

I 1 AI

(40)

CI

  K  K ~  DC  ( ui  ui ) dS K  ri ui dS K  ri K 1   SK SK

 EF  

(39)

N

I 1

CI

Mu 

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

ijI ijI AI I 1

ijI

I 1

N



(41)

Mt

  TiK ui dS K

(42)

K 1 S K

In (40) to (42), the displacements and virtual displacements are interpolated by (28) and (33) respectively. Substituting in (40), we get:  N  N  N       ijI  N Ij  J uiJ dC I    ijI  N Ij  J uiJ dC I  I 1  J 1C I  I 1  J 1C I  N

VC 









(43)

Finally, since the edges of Voronoi cell are straight lines, the outer normal N j to edge S K is constant along this edge and is denoted N K j Now, using the discretization (28), we get:

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

12

L.I. Xiang and Serge Cescotto   Mu  N  N     riK  u~i dS K  uiJ  J dS K   riK  uiJ  J dS K  S  K 1  J 1  K 1 J 1 s K SK  K    Mu

 DC 



 









(44)

Mt N J  EF   ui Fi  J dAI  uiJ Ti  J dS K I 1 J 1 K 1J 1 AI SK

(45)

Similarly, (42) becomes: N N









Collecting all the results, we obtain the discretized FdV variational principle.

 

N

N

I 1

I 1

( ijI  ijI )ijI AI  ijI ijI AI  N  N  N       ijI  uiJ N Ij  J dC I    ijI  uiJ N Ij  J dC I   I 1  J 1 C  I 1  CI I  J 1    N











 

  Mu N  N   K ~ J K J  ri  ui dS K  ui  J dS K   ri  ui  J dS K  S  K 1  J 1  K 1 J 1 S K SK  K    Mu



N N





uiJ

I 1 J 1 Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 





Mt

Fi  J dAI 





N

  uiJ  Ti  J dS K  0

K 1 J 1

AI



(46)

SK

Equations Deduced from the Fraeijs de Veubeke Variational Principle Let us reorganize the terms of (46)

ijI ( ijI  ijI ) AI  N

 

I 1

N     ijI  ijI AI  uiJ A IJ j    I 1 J 1   N







+

N ~    riK U iK  uiJ B KJ    K 1 J 1   Mu



Mt Mu N  ~ IJ ~ KJ  K B KJ   0 uiJ  (  ijI A IJ  F )  T  r  j i i i I 1  J 1 K 1 K 1 N

+











Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(47)

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

13

In this result, the following notations have been used.

 N j  J dC I

A IJ j 

I

(48)

CI

  J dS K

B KJ 

SK



~ U iK 

(49) u~i dS K

SK

~ FiIJ 

(50)

 Fi  J dAI AI

~ Ti KJ 

(51)

 Ti  J dS K SK

(52)

Equation (48) involves the integration on the contour C I of Voronoi cell I. Equations (49) and (50) involve the integration on the edge S K (belonging to the domain contour) of an exterior Voronoi cell. We are now able to deduce the Euler equations. In all the Voronoi cells I

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

ijI   ijI

for

I  1, N

(53)

These equations identify the assumed stresses  ijI as the constitutive stresses  ijI deduced from the assumed strains  ijI in each Voronoi cell. In all the Voronoi cells I ijI AI 

N

uiJ AIJj

for

I  1, N

(54)

J 1

This is a compatibility equation linking the assumed strains

 ijI in Voronoi cell I with

the assumed nodal displacements u iJ . On the edges K of Voronoi cells submitted to imposed displacements N

uiJ B KJ  UiK ~

for K  1, Mu

J 1

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(55)

14

L.I. Xiang and Serge Cescotto These are also compatibility equations taking account of the imposed displacements

u~i along the domain contour. In all the Voronoi cells J Mt Mu ~ KJ I IJ ~ IJ ( ij A j  Fi )  Ti  tiK B KJ  0 I 1 K 1 K 1 N







for

J  1, N

(56)

These are equilibrium equations taking account of the body forces Fi , the surface tractions Ti and the assumed support reactions riK . We note that, in the developments above, the only term that implies an integration over ~

IJ the area of the Voronoi cells is Fi 

 Fi  J dAI . AI

Hence, if there are no body forces, the problem of choosing integration points is simplified: there are only integrations along the straight edges of the Voronoi cells. A classical Gauss integration scheme can be used. Some tests have shown that 2 integration points give enough precision. This property of the present approach eliminates the need for special integration schemes [16,17,5] over the area of the domain. Furthermore, this formulation does not require the derivatives of the shape functions. So, using the FdV functional as starting point, we obtain the same advantages as with the stabilized conforming nodal integration [18,19]. We also remark that, from the definition of

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

A IJ j 

 N j  J dC I I

CI

we have A IJ j 

I  N j  J dC I  

all K ( I )

CI

where



(I ) NK j

  K dS K SK( I )

(I ) means the sum over all the edges K( I ) of the Voronoi cell I and N K is the j

all K ( I )

outward unit normal to that edge. KJ only implies the From this, we see that the calculation of the coefficients A IJ j and B

calculation of integrals of the type

  J dS K SK

along the edges of Voronoi cells.

Finally, in the approach developed here, it is possible to impose displacements u~i on any edge of any Voronoi cell. From (50) and (55), it is clear that the imposed displacements are respected in a weighted average sense.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

15

Matrix Notation We introduce the following matrix notation. I   11  I  I   22   I   12  ;

 I   11  I  I    22   I  212  ;

u I  uI   1I  ;  u2  

~ IJ ~ IJ F1  F  ~ ; IJ F2 



AIJ

 A IJ  1  0 

I   11  I  I   22   I     12  

~ KJ N ~ IJ ~ KJ  T1   ~J F ; T  ~  ; F  KJ  I 1 T2  

   

 0

A2IJ

A2IJ  ; A1IJ 

rK

(57) Mt

  T~KJ ~J T 

~K K  r   ~K  U    1 ; U   ~1  K K r U    2   2  



(58)

K 1

(59)

Then, we get successively: ijI  ijI  I  I

(60)





Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

~ IJ ~ IJ ~ ~ IJ IJ I ; T IJ  T ijI A IJ j  A  ; F  F

N



ijI A IJ j 

I 1

The term



AIJ I 

I 1

N



~ FiIJ 

I 1

Mu

AIJ I   B KJ rK I 1

N



tiK B KJ 

K 1

N



Mu

Mt

(61)

Ti KJ ~

K 1

 

~J ~J  F T

(62)

K 1

Mu

 B KJ rK is the interior nodal force at node J, i.e. in cell J. It

K 1

is the sum of the contributions AIJ I of the stresses  ijI existing in all the Voronoi cells I and of the contributions B KJ  t K of the support reactions riK existing on the contour edges K where displacements are imposed. ~J ~J The term F  T is the exterior nodal force at node J, i.e. in cell J. It is the sum of :

 

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

16

L.I. Xiang and Serge Cescotto

 ~ IJ the contributions T  of the surface tractions Ti applied on the part S of the domain ~ IJ the contributions F of the body forces Fi existing in all the Voronoi cells I

 

t

contour. Now, consider equation (53). It can be written

AI I 

N

AIJ ,T uJ

(63)

J 1

where AIJ ,T is the transpose of AIJ . I . Note that in I , the third component is 212

The compatibility equation (63) defines the strain I in a Voronoi cell I as the sum of the contributions AIJ ,T uJ of all the nodes J. On the edges K submitted to imposed displacements, we must consider (54) that becomes N

 B KJ uJ  U 

~K

(64)

J 1

The tables 2 and 3 collect all these results. Taking account of (60), I is replaced by Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

I Table 2. Discretized equations in matrix form for the linear elastic case Equations N



AIJ I 

I 1

Comments

Mu

~J ~  B KJ rK  F  T 

K 1

AI I 

Equilibrium equation of cell J

(65)

Compatibility equation for cells I

(66)

Compatibility equation on edge K submitted to imposed displacements

(67)

N

AIJ ,T uJ

J 1 N

 B KJ uJ  U 

J 1

~K

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

17

Table 3. Matrix notations for the linear elastic case Notations and symbols

Comments

 I   11  I  I     22   I  2  12 

Strains in cell I

I   11  I  I    22   I   12 

Stresses in cell I

I  u    1 I  u2  

uI

Displacements of node I belonging to cell I

K  r    r 1  K  t 2   AI ; C I

rK

Support reactions on edge K submitted to imposed displacements Area and contour of cell I Length of edge K of a cell Interpolant associated with node J

SK J ~ FiIJ 

 Fi  J dAI

;

F~J is the nodal force at node J

 ~ IJ 

N

equivalent to the body forces Fi

F2 

I 1

AI

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

F~IJ  F~1IJ  ; F~J  F~IJ ~ Ti KJ 

 Ti  J dS K

;

SK

~ KJ Mt ~ KJ ~ KJ  T1   ~J ; T T  ~  T  KJ  K 1 T2  

   



~ U iK 

~K ~K  U 2   ~ ui dS K ; U  ~  K  U1   SK





  J dS K

B KJ 

applied to the solid

T~J is the nodal force at node J equivalent to the surface tractions Ti applied to the contour of the solid

U~K is a generalized displacement taking account of imposed displacements u~i on edge K Integration over the edge K of a cell

SK

A IJ j 

 N j  J dC I ; I

CI

 A IJ AIJ   1  0 

0 A2IJ

A2IJ   A1IJ 

A IJ j can also be computed by A IJ j 

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

 N Kj ( I ) B K ( I )J all K ( I )

18

L.I. Xiang and Serge Cescotto If we consider a linear elastic material, the constitutive equation for a Voronoi cell J is

J  CJ J

(68)

where C J is the Hooke compliance matrix of the elastic material composing cell J. Introducing (66) in (68), we get

J  C J J

  A J N

 C*

IJ ,T uJ

(69)

J 1

with

C 

* J



1 AJ

C J

(70)

Then

AIJ I  ( AIJ C*  I AIL,T )uL  M JL uL N

N

I 1

N

N

L 1 I 1

(71)

L 1

with N

M JL  AIJ

C  A * I

IL ,T

(72)

I 1

Replacing in (65), we obtain:

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

N



M JL uL 

L 1

Mu

~J ~  B KJ rK  F   T 

(73)

K 1 N

 B KJ uJ  U 

~K

(74)

J 1

Equations (73) and (74) constitute an equation system of the form:  M   B T 

    

~  B  q  Q  0  r  U~

with

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(75)

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle  r 1   2   r  r   .  ;    .  r M u 

 

 U~ 1   u1   T~ 1   F~ 1   ~ 2     ~ 2   ~ 2 2 U    u   T    F   ~   ~  ~      U   .  ; q   .  ; F    .  ; T    .  ;        .  .  .  .      ~  u N  T~  N  F~  N   U M u 



(76)



Q~ F~ T~  M  11  21  M  M    .  .  N1 M 

19

M 12 M  22

. .

.

. .

.

. .

M

 N2

. .

. .

 B  11  21  B  .  ; B    .  .   . M  NN  B  N 1 

M 1N  M  2 N 

(77)

B 12 B 22

. .

.

. .

.

B

. . . .

N2

. .

B 1M B 2 M

  u  .   .  B NM u  u

(78)

It can be easily shown that the matrix M  is symmetric.

~

Equations (74) that, in matrix form, become BT q  U constitute a set of constraints

on the nodal displacements q.

In particular, if displacements u~i  0 are imposed on the segment AB joining 2 nodes A

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

and B on the domain contour, it is easy to show that (74) leads to uiA  0 and uiB  0 . In such a case, the displacements u iA and u iB can be removed from the unknowns q . This reasoning can be extended to the case of displacements imposed to 0 on any number of similar segments belonging to the contour. This shows that, despite of the fact that, in the initial assumptions (25) to (28), many discretization parameters appear, most of them are eliminated at the Voronoi cell level, which ~ finally leads to an equation system of the classical form M q  Q with the same characteristics as in the classical approach based on the virtual work principle.



Numerical Integration For the numerical integration of integrals of the type

  J dS K ,

Gauss method is used.

SK

Using a local coordinate 1    1 along edge S K , such a integral takes the form: 1

1

f d 

NP

 f  IP W IP

IP 1

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

20

L.I. Xiang and Serge Cescotto

in which IP denotes the integration point, NP the number of integration points,

 IP the

coordinate of integration point IP and W(IP) the weight of integration point IP. The precision of the scheme has been tested from one to ten integration points. To achieve this, advantage is taken from the fact that the calculation of A IJ j 

 n j  J dS I I

can be

CI

performed analytically for a regular distribution of nodes on a square pattern as developed in annex 3. The following table gives two examples of results with A1IJ 

 n1  J dS I I

CI

NP Relative error on

1

A1IJ (%)

Relative error on A2IJ (%)

2

A2IJ 

 n2  J dS I I

CI

;

3

4

5

6

7

8

9

10

30.1 3

0.77

4.52

2.62

0.75

0.99

1.72

0.59

0.24

0.57

12.8 2

0.32

1.85

1.08

0.31

0.41

0.71

0.24

0.10

0.24

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

It is seen that the precision does not necessarily increase with the number of integration points. From the table above, it was decided to use NP=2 in all the subsequent calculations.

Patch Tests A set of patch tests in simple tension and in pure shear are performed to validate the method. Unit thickness and plane strain conditions are assumed. The domain, the loading, the nodes and the Voronoi cells for the 5 case studies are given in figures 1 and 2. The results are given in tables 3 4 for two different Poisson’s ratios   0 . and   0.3 .

They are expressed with the help of the following variables. N



N



K

Average  K 1

N

;

exact exact AK ( ijK  ij )( ijK  ij )/

L 2 norm  K 1

N

 AK

K 1 N



exact exact AK ij ij )/

K 1

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

N

 AK

K 1

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle Case number and configuration

21

Loadings and boundary conditions

u~y  0

Case1: square

t  1000N / mm2 u~x  0

Case 2: rectangular

x

Case 3: rectangular

y

u~x  u~y  0

Case4: square

t y  1000 N / mm 2

t y  1000 N / mm 2 Case 5: rectangular

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

t x  1000 N / mm 2 Figure 1. The 5 patch tests geometries and loadings.

Table 3. Results of the 5 patch tests with E  108 N / mm2 and   0

Case

Configuration

 11 Loading

N

 12

 22

average

average

average

2

2

2

L2 norm

( N / m m ) ( N / mm ) ( N / m m ) 1 2 3

Square Rectangular regular cells Rectangular irregular cells

4

Square

5

Rectangular irregular cells

Simple tension Simple tension Simple tension Pure shear Pure shear

4

1000

-4.42E-12

1.11E-11

2.87E-16

45

2.94E-13

1000

-3.67E-12

5.11E-17

38

-7.44E-12

1000

2.16E-11

9.97E-16

4

1.88E-12

-3.99E-17

-1000

3.77E-16

38

8.85E-12

7.13E-12

-1000

7.43E-16

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

22

L.I. Xiang and Serge Cescotto

Case number and numbers of nodes

Voronoi cells

Case1: 4 nodes

INITIAL STRUCTURE

ALL SHARP EDGES

PLANE VIEW X Y

Case 4: 4 nodes

MIN

MAX

X

-100.000

100.000

Y

-100.000

100.000

Z

0.000

0.000

ELEMENTS SELECTION ALL

Y X DESFIN

Linear Application

User

9.4 08/09/2006

output_3_4 nodes

INITIAL STRUCTURE

ALL SHARP EDGES

PLANE VIEW X Y

Case2: 45 nodes MIN

MAX

X

-100.000

100.000

Y

-200.000

200.000

Z

0.000

0.000

ELEMENTS SELECTION ALL

Y X DESFIN

Linear Application

User

9.4 08/09/2006

output_3

INITIAL S

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Case3: 38 nodes

Case 5: 38 nodes

Figure 2. The 5 patch tests Voronoi cells.

These results are computed with 2 integration points on each edge of the Voronoi cells (NP=2). Results with NP=9 were also computed and are not significantly different. It is seen that the patch tests are satisfied up to machine precision. For case 3, results for a nearly incompressible material with   0.49 ,   0.499 ,   0.4999 have also been computed. They are summarized in table 5 that shows some decrease in the precision of the results.

ALL SHARP E

PLANE VI

MI

X -1240.25

Y -1486.71 Z

0.00

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

ELEMENTS SE ALL

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

23

Table 4. Results of the 5 patch tests with E  108 N / mm2 and   0.3

Configuration

Case

 11 Loading

average

N

 12

 22 average

average

2

2

2

L2 norm

( N / m m ) ( N / mm ) ( N / m m )

1

Simple tension Simple tension Simple tension Pure shear Pure shear

Square Rectangular regular cells Rectangular irregular cells

2 3 4

Square

5

Rectangular irregular cells

4

1000

-4.42E-12

1.11E-10

2.87E-16

45

2.94E-12

1000

-3.67E-12

5.11E-17

38

-1.44E-12

1000

5.16E-11

3.10E-16

4

1.92E-12

-1.74E-13

-1000

1.77E-16

38

1.37E-12

-4.64E-12

-1000

7.43E-16

Table 5. Results of patch test (case 3) for a nearly incompressible material 

L2 norm 3.10E-16 5.14E-15 1.95E-14 4.70E-13

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

0.3 0.49 0.499 0.4999

In fact, this is a problem linked with the deterioration of the conditioning of matrix M  in (75) ([30,31]). If there is a small error M e  on M  because of machine precision, the solution is modified and becomes q qe  . According to [30]:

qe q

in which

 Me  / 1  C  M  M 

Me

C

is the L2 norm.

If M e  M , this result becomes approximately: qe q

C

Me M

where C is the condition number of M  . For a 3D solid discretized in tetrahedral finite elements of size h , it has been shown in [31] that :

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

24

L.I. Xiang and Serge Cescotto

Cc

h 2 1   1  2 

where c is a constant and h is the size of the elements. Although this result has not been established in the frame of the natural neighbour method, a simple calculation shows that, when  changes from 0.49 to 0.499 or 0.4999 , the error on the solution is multiplied by 10 or 100 or 1000 , which explains the results observed in table 5. This shows that the patch tests can be passed also for nearly incompressible materials.

Application to Pure Bending Unit thickness and plane strain conditions are assumed. The loading and boundary conditions are shown on figure 3. The left side is fixed horizontally by symmetry. In order to prevent the rigid body motion in the vertical direction, a small appendix is added to the left side and fixed both in the horizontal and the vertical directions. Figure 4 illustrates the Voronoi cells. L  500mm

u~x  0

h=50 mm

u~x  u~y  0

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 min  1000 N / mm 2

x

u~x  0  max  1000 N / mm 2

y

Figure 3. Geometry and loading for the pure bending application.

Figure 4. Voronoi cells for the pure bending application (222 nodes, random=3).

This is a classical problem of elasticity, the analytical solution of which is known. The strain energy stored in the deformed beam is given by: Y

X

PLANE VIEW X Y

INITIAL STRUCTURE

X Y Z

MIN -5.000 -56.386 0.000

MAX 500.000 56.832 0.000

ELEMENTS SELECTION ALL

ALL SHARP EDGES

Linear Application

DESFIN 9.4 31/08/2006

User

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

output_3_bending

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle



WI  U 0 dA

25 (79)

A

With



M  YdA  A

 max I ; I h



y 2 dA 

A

2h3 3

;  xx 

M Y, I

(80)

the theoretical value of the stored energy becomes: WI _ theory 

1 1 M 2 L( 1   2 ) ijij dA  2 2 EI



(81)

A

On the other hand, from the numerical calculation, we get

 2  K   K AK N

WI _ num 

1

T

(82)

K 1

With E  108 MPa ,   0.3

and the values of

max ,h,L

(figure 3), we get:

WI _ theory  75.8 J

In order to study the influence of the number of nodes and of their distribution, the following procedure has been developed:

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

a)

create a regular pattern of nodes with (nX+1) nodes in direction X and (nY+1) nodes in direction Y; the spacings of the nodes in directions X and Y are respectively:  X  L nX and Y  2h nY

b) move the interior nodes randomly about their previous position by the quantities: random random dX  d r  X and dY  d r Y 5 5

where 0.5  dr  0.5 is a uniformly distributed random number and 0  random 5 is a user defined value. Nodes moving outside the domain are removed. The results of different calculations are given in table 6 and summarized in figure 5 which shows that, with the same random value, the results of cases with a more regular Voronoi cell pattern are closer to the theory. For the case of random 0.1, nx  20, ny  8 , figure 6 shows the stresses  x in the different Voronoi cells. To study the effect of near incompressibility, the calculations have also been performed for   0.49; 0.499 and 0.4999 . In addition to the convergence on the energy, the convergence on the displacements has also been considered.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

26

L.I. Xiang and Serge Cescotto Table 6. Energy results for the pure bending test random = 0.1 nX

nY

N

WI _ cell (J)

10 15 20 20

4 6 8 16

76 140 244 399

76.9 76.5 76.3 76.0

N 78 140 222 398

WI _ cell (J)

random = 3 nX 10 15 20 20 8.2

nY 4 6 8 16

80.7 78.9 77.8 76.7

WI _ cell (10 J )

8.1 8 7.9 7.8

random=3

random=0.1

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

7.7 7.6

WI _ theory

N

7.5 0

50

100

150

200

250

300

350

400

450

Figure 5. Energy convergence curves for pure bending.

To this end, the following norm has been used: N



L 2norm  i 1

analy

( ui

analy

 uinum )* ( ui

 uinum )

f max * N

where uianaly are the nodal displacements computed from the analytical solution while uinum are the nodal displacements obtained by the present numerical method. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

27

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

f max 

M ( 1   2 ) 2  max( 1   2 ) 2 L  L is the maximum theoretical displacement of the 2 EI 2 Eh

beam axis. N is the number of nodes.

908

757

605

454

302

151

0.000

0

50.000

0.000

-151

-50.000

Z

-302

Y

-454

500.000

-605

MAX

-5.000

-757

-908

MIN X

ELEMENTS SELECTION ALL

DESFIN 9.4 27/05/2006 Figure 6. Stresses  x ( N / m m2 ) in the different Voronoi cells.

Administrateur

output_3

Y

ALL

DANS LA STRUCTURE INITIALE

Linear Application

Administrateur

output_3

Convergence on displacements (random=3) L2norm Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.50E-03

2.00E-03

1.50E-03

nu=0.3 nu=0.49 nu=0.499

1.00E-03

nu=0.4999

5.00E-04

N

0.00E+00 50

100

150

200

250

Figure 7. Displacements convergence for a nearly incompressible material.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

908

0.000

ELEMENTS SELECTION

757

0.000

605

Z

960.

454

TMAX=

302

50.000

0

500.000

-50.000

151

MAX

-5.000

Y

1.00

-151

151.

X

-302

MIN

X

TMIN= -996.

-454

DELT=

-605

X

-757

-908

Figures 7 and 9 show the convergence curves of the displacements and of the energy for the different values of Poisson’sPLAratio. NE VIEW X Y CONTOUR LINES sigm TIME Although DMULCUM there is no formal proof, the results obtained in this section and in the preceding 0.00 0.00 one tend to show that incompressibility locking is avoided in the present formulation. DESFIN 9.4 27/05/2006

28

L.I. Xiang and Serge Cescotto

Convergence of energy (random=3) 7.00% 6.00% 5.00% nu=0.3

4.00% error on energy

nu=0.49 nu=0.499

3.00%

nu=0.4999

2.00% 1.00% 0.00%

N 0

50

100

150

200

250

Figure 8. Energy convergence for a nearly incompressible material.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Application to a Square Membrane with a Circular Hole The material parameters are: E  200000 N / mm2 and   0.3 . The geometry and the loading conditions are defined in figure 9. Unit thickness and plane strain conditions are assumed. The strain energy convergence has been studied for different numbers of integration points on the edges of the Voronoi cells (NP) and different numbers of nodes (N). It has been compared with the results of the finite elements method (FEM). For the finite element analyses, classical 4 nodes isoparammetric elements have been used with 4 Gauss integration points for the numerical integrations on the area of the elements. The numbers of nodes used (Nel) are approximately the same as for the calculations performed with the present approach. Table 7 gives the results. The corresponding curves are drawn on figure 10. Table 7. Strain energy (J) for the square membrane with a circular hole

N 36 121 441 1681

Present method NP=1 NP=2 290614 285524 284496 282707 281741 281070 280715 280517

NP=10 286084 282874 281146 280542

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Finite elements Nel NP=4 33 238823 119 276975 445 279986 1645 280100

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

29

t=1000. N

t=1000. N

x

y

Figure 9a. Geometry and loading for the square membrane with a circular hole.

100 x

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

300

t=1000.N

300 mm y Figure 9b. Square membrane with a circular hole: studied model.

It is clearly seen that the present approach converges from above while the finite element method converges from below in the present case. It is also made clear that, for the same number of nodes, the present approach is closer to the converged value. The convergence of the stress concentration coefficient is also studied. It is defined as: k

 x ,max  net

where  net 

total force in direction x 300 .* 1000 .   1500 . N / mm 2 net cross sec tion 300 .  100 .

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

30

L.I. Xiang and Serge Cescotto Strain energy 300000

Strain energy convergence

290000

280000

270000

1 int. pt 2 int. pt

260000

10 int. pt FEM 250000

240000

230000 10

100

1000

10000

n° of nodes

Figure 10. Strain energy (J) convergence for the square membrane with a circular hole.

The values are given in tables 8 and 9. Table 8. Square membrane with a circular hole.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Maximum stress near the hole  x,max ( N / mm2 ) N

NP=1

NP=2

NP=10

36

3663.72

3577.28

3559.7

121

3815.36

3749.17

3751.61

441

3910.19

3891.34

3890.16

1681

3993.57

3995.68

3993.17

Table 8. Square membrane with a circular hole. Stress concentration coefficient N

NP=1

NP=2

NP=10

36

2.4425

2.3849

2.3731

121

2.5436

2.4994

2.5011

441

2.6068

2.5942

2.5934

1681

2.6624

2.6638

2.6621

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

31

Stress concentration convergence

k 2.70 2.65 2.60

2.55 2.50

1 int. pt

2.45

2 int. pt

2.40

10 int. pt

2.35 2.30 0

500

1000

1500

2000

n° of nodes

Figure 11. Square membrane with a circular hole: stress concentration coefficient.

Finally, figure 12 illustrates the evolution of the stress distribution with the number of nodes.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

x

y

36 nodes

121 nodes

Figure 12. Continued on next page.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

 xy

32

L.I. Xiang and Serge Cescotto

y

x

 xy

441 nodes

1681 nodes

Figure 12. Square membrane with a hole : stress distribution.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Extention to non Linear Materials Variational Equation We consider a solid of unit thickness in plane strain state. The material has a non linear constitutive equation but the displacements of the solid are assumed to be very small. Hence, the problem considered here is geometrically linear and materially non linear. The following variational equation is considered.



1   ij  ij dA

(83)

A

 1 ui u j   2  ij  (  )   ij  dA xi  2 x j  A

(84)

 1 u  u  3  ij  ( i  i )   ij  dA  2 x j x j 

(85)





A

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle



 4   Fi ui dA

33 (86)

A



 5   Ti ui dS

(87)

St

 6 

 ri ( u~i  ui ) dS   ri ui dS Su

(88)

Su

( ui , ij ,ij , ri )  1  2  3  4  5  6  0

(89)

It is a modified form of (12) in which ui is the assumed velocity field,  ij is the assumed strain rate field,

 ij is the assumed stress field, ri is the assumed support reaction field

In (83), σ ij are the constitutive stresses at the considered material point.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

For inelastic materials, these stresses are usually obtained by integration, along the strain path of the considered material point, of a system of equations of the type:  ij  f ij ( ij ,qij , ij ) 

(90)

qij  hij ( ij ,qij )

(91)

with qij a set of internal variables. Since the problem is geometrically linear, the time derivative indicated by a superimposed dot is just the usual one. For a geometrically non linear problem, an objective time derivative should be used. The Euler equations corresponding to the variational equation (89) are summarized in table 10. Table 10. The Euler equations deduced from the variational equation (89) Variation

Equation

 ij in A

ij  ij

ij in A

ri on Su

Comments

The assumed stresses are identified as the constitutive stresses inside the domain

u j 1 ui (  )   ij Compatibility between the assumed strains and the 2 X j X i

assumed displacements inside the domain

ui  u~i

Compatibility between the assumed displacements and the displacements imposed on the part Su of the domain contour

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

34

L.I. Xiang and Serge Cescotto Table 10. Continued Variation

ui in A

Equation  ji  Fi  0 X j

ui on St

N j  ji  Ti

ui on Su

N j  ji  ri

Comments

Equilibrium inside the domain between the assumed stresses and the body forces Equilibrium on the part St of the domain contour where surface tractions are imposed Equilibrium on the part Su of the domain contour where displacements are imposed

Domain Decomposition and Discretization Exactly as in the linear elastic case, the domain is decomposed into N Voronoi cells, each cell corresponding to a node. We admit the following discretization hypotheses: The assumed strains rates  ij are constant over each Voronoi cell I:  ij   ijI

(92)

The assumed stresses  ij are constant over each Voronoi cell I:  ij   ijI

(93)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

The assumed support reactions ri are constant over each edge K of Voronoi cells on which displacements are imposed: ti  tiK

(94)

The assumed velocities u i are interpolated by Laplace interpolant [10,11]: N

ui 

  J uiJ

(95)

J 1

We assume that the solid is free of stresses in its initial configuration (corresponding to the absence of loading). Hence, as a consequence of (90,91,92), the constitutive stresses  ij and state variables qi are constant over each Voronoi cell I at any stage of the loading process: ij  ijI

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(96)

35

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle qi  qiI

(97)

Using the assumptions (92 to 95) and following a development very similar to the linear elastic case, the discretized form of the variational equation (89) is obtained: N

 



( ijI  ijI ) ijI AI 

I 1

N

ijI  ijI AI I 1

 N  N  N    I J I I J I     ij  ui N j  J dC I    ij  ui N j  J dC I   I 1  J 1 C  I 1  CI I  J 1    N









 

  Mu  N  N   K  ~ J K J    ri  ui dS K  ui  J dS K   ri  ui  J dS K  S  K 1  J 1  K 1 J 1 S K SK  K    Mu



N N





 



uiJ



Mt





N

  uiJ  Ti  J dS K

0

(98)

Mu Mt N  ~ IJ ~ KJ   J I IJ K KJ  ui  (  ij A j  Fi )  ri B  Ti  =0 + I 1  J 1 K 1 K 1

(99)

I 1 J 1

Fi  J dAI 



K 1 J 1

AI

SK

Using the notations (48 to 52), let us reorganize the terms of (98)

 ijI ( ijI  ijI ) AI  N

 

I 1

N     ijI   ijI a I  uiJ A IJ j    I 1 J 1   N

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.



+





Mu

~ 

K 1



N

 

J 1



 riK U iK  uiJ B KJ  N









We are now able to deduce the discretized Euler equations. In all the Voronoi cells I ijI   ijI for

I  1, N

(100)

 ijI

These equations identify the assumed stresses  ij as the constitutive stresses I

deduced from the constitutive equations (90, 91) and from the assumed strains rates ε ij in I

each Voronoi cell. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

36

L.I. Xiang and Serge Cescotto In all the Voronoi cells I  ijI AI 

N

uiJ AIJj

J 1

(101)

This is a compatibility equation linking the assumed strain rate  ijI in Voronoi cell I with the assumed nodal velocities uiJ . On the edges K  1, Mu of Voronoi cells submitted to imposed velocities N

uiJ B KJ  U iK ~

(102)

J 1

These are also compatibility equations taking account of the imposed velocities u~i on the part S u of the domain contour. In all the Voronoi cells J Mt Mu ~ KJ I IJ ~ IJ ( ij A j  Fi )  Ti  riK B KJ  0 I 1 K 1 K 1 N







(103)

These are equilibrium equations taking account of the body forces Fi , the surface Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

tractions Ti and the support reactions ri . We note that, in the developments above, the only term that implies an integration over ~

the area of the Voronoi cells is FiIJ 

 Fi  J dAI . AI

Hence, if there are no body forces, the problem of choosing integration points is simplified: there are only integrations along the straight edges of Voronoi cells. This remarkable property, already obtained in the linear elastic case, is thus conserved despite of the fact that the constitutive equation of the material is non linear. Furthermore, as in the linear elastic case, this formulation does not require the derivatives of the shape functions. Finally, in the approach developed here, it is again possible to impose, in a weighted average sense, displacements u~i on any edge of any Voronoi cell.

Matrix Notation With the matrix notation introduced for the linear elastic case (table 3), the results summarized in table 11 are obtained.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

37

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle Table 11. Discretized equations in matrix form for the materially non linear case Equations N



AIJ I 

I 1

Comments

Mu

~J ~  B KJ rK  F  T 

Equilibrium equation of cell J

(104)

Compatibility equation for cells I

(105)

Compatibility equation on edge K submitted to imposed displacements

(106)

K 1

AI I 

N

AIJ ,T uJ

J 1

 B KJ uJ  U  N

~K

J 1

Solution of the Matrix Equations Integrating (106) in time, we get at any time t of the loading process: N

 B KJ u( t )J  U ( t ) ~

K

(107)

J 1

~ 

With the notations (76), equation (64), in matrix form, becomes BT q( t )  U ( t ) ~ where U ( t ) is a column matrix containing the generalized displacements imposed to some nodes at time t. This constitutes a set of constraints on the nodal displacements q( t ) deserving the same

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 

remarks as in the linear elastic case. Assume (104) and (105) are satisfied at time t A , so that we know exactly the values of: A J A J A  J A J A~ J A ~ J A J . ij , ij , ui , ui , Fi , Ti , ri

We want to calculate, at time t B  t A  t , B J BJ B J B J ij , ij , ui , ri

and, at time t B , (104) and (105) must be satisfied. Let B J A J ij  ij  ijJ

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(108)

38

L.I. Xiang and Serge Cescotto B J A J ui  ui  uiJ

(109)

During the time interval  t , we assume that the evolution of the displacements is a linear function of time: uiJ 

B J A J ui  ui u 

t

(110)

t

If B uiJ is known, we can calculate uiJ by (110) and  ijJ by (105). Then, we can calculate the stresses

B

σ ijJ in each Voronoi cell by integration of the

constitutive equations. What we have to do is to find the value of B uiJ such that (104) is satisfied. We proceed by iterations.

 

 

Let uiJ k be the value of uiJ at iteration k and uiJ k 1 be the value of uiJ at iteration k  1 . Let

uiJ k 1  uiJ k  duiJ ;

( BijI )k 1 ( BijI )k  dijI ;

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

( B ijI )k 1 ( B ijI )k  d ijI

After some developments, we get:

B ijI k AIJj  BTi J  BFiJ  piJ k  RiJ k  0

(110)

B ijI k 1 AIJj  BTi J  BFiJ  piJ k 1  0

(111)

N

~

~

I 1

N

~

~

I 1

where

pJ

Mu



 B KJ rK

K 1

and ( RiJ )k is the out of balance force at node J for iteration k.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

39

From (110,111), we get :

dijI AIJj  RiJ k  piJ k  piJ k 1  0 N

(113)

I 1

This equation gives the dijI that we should have in order to ensure equilibrium at the end of the iteration. From the constitutive equations of the material and according to the integration scheme used to integrate them, we can write: I

d11  d11    I    d 22   Ct d 22 t  d  d   12   12 

 

(114)

 

where CtI is the consistent compliance matrix which has to be calculated for each constitutive equation. It can be obtained for rate-independent [33] as well as for ratedependent [33] materials. On the other hand, (105) gives the link between the duiJ that we want to compute and the d ijI : N du J A IJ i j



d ijI AI 

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

J 1

(115)

t

From (113), (114) and (115), we get the following equation system:

M dq  dQ

(116)

with N

M JL  AIJ

C  A * I

IL

(117)

I 1

 M  11  21  M   M    .  .  N1 M 

where

M 12 M  22

. . . .

M 1N  M  2 N 

.

. .

.

.

M  N 2

  . . .   . . M  NN 

 du1   2  du  dq   .  ; dQ~  dpiJ  RiJ k    .  du N 

 

 

 

dpiJ  piJ k 1  piJ k 1 Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

  

(118)

(119)

40

L.I. Xiang and Serge Cescotto We remove all the known displacements from dq and the corresponding terms from

M  and dQ, then we get a new equation system:

M p  dq p  dQ p 

(120)

 

where all the terms in dQp are known.

From (120) we can get dq and, consequently, all the variables at the end of iteration

k+1 Iterations are performed until convergence is reached. The following convergence criterion can be used. For iteration k, let 1 REFi  N

 B ijI k AIJj N

i  1,2

I 1

REF  REF1  REF2 RESi 

1 N

N

 ( RiI )k

i  1,2

I 1

RES  RES1  RES2

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

RNORM 

RES REF

If RNORM is less than a user prescribed value, convergence is reached. If the errors are small, REF is of the order of the average stress level (in absolute value) in the solid. For some loading cases, this value can be zero or very close to zero. To avoid this problem, a user defined value USER is given and REF is calculated by REF  max(REF1  REF2 ,USER)

Elasto-plastic Material with von Mises Linear Hardening

 

As an example, we use the von Mises linear hardening model to calculate the matrix CtI . In the radial return method, the deviatoric part of stress is: e ˆ ij ij  1  



and the elastic trial stress is Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(121)

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle e Aˆ ˆ ij   ij  2Gˆ ij t

41 (122)

in which 1

Re

3 J 2e E ;  ; J 2e  G h 21    1 3G

e e ˆ ij ˆ ij 

;

2

1 1 1   h Et E

where Re is the yield limit, Et the tangent modulus and h is the plastic modulus (figure 13).

 Et

Re



e

Figure 13. Uniaxial tensile stress-stain curve for an elasto-plastic material with von Mises linear hardening.

After some developments, we get an equation of the form:

  2Gdˆt

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

dˆ   2G dˆ e

(123)

with  ˆe  ˆe ˆe ˆe 1 0 0 11 11 11  22  Re  ˆe  ˆe ˆe ˆe  ( 1   ) 0 1 0  22 11  22  22 h  p 0 0 1 2 3( J 2e )3 ( 1  )  ˆe  ˆe ˆe  ˆe  12 22 3G  12 11

ˆe  ˆe  2 11 12  ˆe  ˆe  2 22 12  ˆe  ˆe  12 12 

(124)

The volumetric part of stress is: B

m  A m  3 mt

in which 

1 1 E ;  m  ii  11   22  33  3 3 31  2 

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(125)

42

L.I. Xiang and Serge Cescotto From (126), we get: dm  3 d mt

(126)

d  dˆ  dm.

(127)

Consequently

with 1 

  1 0  

Introducing (124) and (126) in (127), we have:

 

d  CtI dt

(128)

in which,

C  2G 13 3I  2G I t

T

(129)

with I  the unit matrix.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Patch Tests A set of patch tests in simple tension and in pure shear are performed to validate the method. All the information and results are collected in figures 14 to 17. For the case of figure 14, the stresses are within machine precision, no matter the value of the convergence criterion. Only one iteration is required to reach convergence since hardening is linear and the loading is a linear function of time. For the cases of figures 16 and 17, the loading is a combination of sine functions. For the calculation of RNORM, the value of USER= 20, is equal to the maximum stress level imposed during the loading. The convergence value is RNORM  108 . The following variable is defined to evaluate the computation error: N

L2 norm 

N

 AK (  ijK   ijexact )( ijK   ijexact ) /  AK K 1

K 1

N

A K 1

K

N

 ijexact  ijexact ) /  AK K 1

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle Loading and boundary conditions

x

u~ y  0

Stress-strain curve

T sigma11=F(strain11)

u~x  0

x

sigm a11= 16 14 12 10

y

8 6

x

INITIAL STRUCTURE

4 2 strain11=

0

ALL SHARP EDGES

PLANE VIEW X Y

0 MIN

0.002

0.004

0.006

0.008

MAX

X

-100.000

100.000

Y

-100.000

100.000

Z

0.000

0.000

ELEMENTS SELECTION ALL

Y X DESFIN

Linear Application

User

9.4 08/09/2006

output_3_4 nodes

Case 1 (4 nodes): a square domain submitted to simple tension. The applied surface traction is given by T  t t varies from 0 to 2 seconds by time steps t  0.05 s each Figure 14. Patch test, case 1.

Loading and boundary conditions u~y 0x u~x  0

Stress-strain curve

T

x

sigma11=F(strain11)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

x

sigm a11= 50 40 30 20

y

10 0 -0.01 -0.005-10 0

0.005

-20

0.01

0.015

strain11= 0.02

INITIAL STRUCTURE

-30

Case 2 (38 nodes): a rectangular domain submitted to simple tension. ALL SHARP EDGES The applied surface traction is given by: PLANE VIEW X T  5 sin* t  when 0  t  1

Y

T 10 sin* t  when 1  t  2

T  20 sin* t  when 2  t  3

t varies from 0 to 3 seconds by time steps t  0.05s Figure 15. Patch test, case 2s.

Y

-1486.712

483.845

Z

0.000

0.000

ELEMENTS SELECTION

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

ALL

43

44

L.I. Xiang and Serge Cescotto

Loading and boundary conditions

Stress-strain curve

u~x  u~y  0

xy

sigm a12=F(gam a)

x

sigm a12= 25 20 15

y

 xy

10 5 0 -0.02

-0.01

-5

0

0.01

gam a= 0.03

0.02

-10 INITIAL STRUCTURE

-15 ALL SHARP EDGES

PLANE VIEW X Y

MIN

MAX

X

-100.000

100.000

Y

-100.000

100.000

Z

0.000

0.000

ELEMENTS SELECTION ALL

Y X DESFIN

Linear Application

User

9.4 08/09/2006

output_3_4 nodes

Case 3 (4 nodes): a square domain submitted to pure shear. The applied surface traction is given by: T  5 sin* t  when 0  t  1

T 10sin* t  when 1  t  2

T  20sin* t  when 2  t  3 t varies from 0 to 3 seconds by time steps t  0.05 s Figure 16. Patch test, case 3.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.00E-08

L2norm

1.50E-08 1.00E-08 5.00E-09 time

0.00E+00 -5.00E-09

0

0.5

1

1.5

2

2.5

3

-1.00E-08 -1.50E-08 -2.00E-08

Figure 17. Patch test, case 3.

Figure 17 shows the evolution of L2 norm with time. Because the loading is not a linear function of time, we have more than one iteration in the plastic domain to reach convergence. From this figure, we can see that, at some time steps, the L2norm is not as small as others.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

45

RES and REF  max(REF1  REF2 ,USER) , according to the REF RES  10 8 , from which we can get we have REF

Since we define RNORM  convergence

criterion,

RES  108 * REF  108 * 20  2* 107 This explains the observed result.

Pure Bending of a Beam The material is that of figure 13. The loading and boundary conditions are shown on figure18. L  500mm

u min

hh=50  50mm x

u max

y Figure 18. Geometry and loading for the elasto-plastic bending.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

They are similar to the elastic case but the loading is obtained by imposing displacements to the right end of the beam as indicated on the figure. We define the u min and the u max as a function of time: umin  umax  0.02* 3 3 * t if 0  t  1 umin  umax  0.01* 3 3 * 4  2* t  if 1  t  2

t varies from 0 to 2 seconds and t  0.05 s . The curvature of the deformed beam is a function of time and is given by:

t  u t   max h* L and we have:

( t )  t * y   E if     Re e

E

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

46

L.I. Xiang and Serge Cescotto   Re  Et (   e ) if   e

The bending moment of the deformed beam is related to its curvature by: 2 3     3 R   1  R    1 Re  1   Re  Et  e h 2   e    Et h 3   e    M theory  2    3 E2  2  E   3  E        

On the other hand, from the numerical calculation, we get h

M num 



rydA 

h

2rh 2 3

where r is the support reaction of the edges where the displacements are imposed. We can get the numerical value of the strain energy by: t

WI _ num 

 AI  I

 I I dt

0

Results of different calculations are given in table 12 and summarized in figure 19. The material parameters are:

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

E  200000 MPa;   0.3; Et  1488.83 MPa; Re  300 Mpa; G  76923 MPa; h p  1500 MPa

Another numerical solution for the plane strain case has been calculated by the method proposed in [9]. It is based on the direct integration of the differential equations for the pure bending case in plane strain. We note the energy obtained from this method as W0 , and the moment as M 0 . The error on the strain energy is calculated by: Error 

WI _ num  W0 W0

The values of the strain energy at time t  2s for different numbers of nodes (N) are given in table 12. Figure 19 shows the moment-curvature curves of the method proposed in this chapter and in [9]. The L2 norm of the error on the displacements is defined by: N



L 2norm( u )  i 1

( uitheory  uinum )* ( uitheory  uinum ) LN

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

47

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle theory

where ui

num

are the nodal displacements computed from the analytical solution while ui

are the nodal displacements obtained by the present numerical method. N is the number of nodes. Table 12. Convergence on energy. W0  4265.11J at time t  2s WI _ num (J)

N (random=0.1) 76 140 244

900000

4531.33 4342.65 4290.00

Mom ent

800000 700000 600000 500000

FdV [9]

400000 300000 200000 100000 Curvature 0

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

0

0.00002

0.00004

0.00006

0.00008

0.0001

Figure 19. Comparison of the moment-curvature curves. convergence on displacements L2_dis 1.00E-04 9.00E-05 8.00E-05 7.00E-05 6.00E-05 5.00E-05 4.00E-05 3.00E-05 2.00E-05 1.00E-05 N. 0.00E+00 0

50

100

150

200

Figure 20. Convergence of L2norm( u )

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

.

250

48

L.I. Xiang and Serge Cescotto Mom ent

1000000 800000 600000 400000 200000

-0.0001

0 -0.00005 0 -200000

Curvature 0.00005

0.0001

0.00015

0.0002

-400000 -600000 -800000 -1000000

Figure 21. Moment-curvature curve for cyclic loading.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 20 shows the convergence of the displacements at time t  2s . In addition, a case of cyclic loading is also performed with : umin  umax  sin(t )

0  t 1 s

umin  umax  2 sin(t )

1 t  2 s

umin  umax  4 sin(t )

2t4 s

t varies from 0 to 3 seconds and t  0.01s . Figure 21 shows the moment - curvature curve.

Square Membrane with a Circular Hole The last application in the elastoplastic domain is the square membrane with a circular hole the geometry of which is defined in figure 9. The material is elasto-plastic with von Mises linear hardening. Plane strain conditions are assumed. The material parameters are: E  200000 MPa;

  0.3 ; Et  9523.81 MPa; Re  300 Mpa; G  76923 MPa;

h p  10000 MPa

The loading 0  T  350 MPa is a linear function of time. Unit thickness and plane strain conditions are assumed. The results for the strain energy convergence are summarized in table 13.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

49

For the present method, 2 integration points per Voronoi edge are used. For the finite element method, classical 4 nodes isoparammetric elements have been used with 4 Gauss integration points for the numerical integrations on the area of the elements. Table 13. Strain energy (J) for the square membrane with a circular hole Elasto-plastic case

N 36 121 441 1681

Present method t=1s 2855 2837 2819 2118

t=3.5s 302707 297164 294086 295292

N 33 119 445 5251

Finite elements t=1s 2689 2770 2803 2811

t=3.5s 196815 247143 268669 278514

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 22 a. Strain energy convergence: comparison of the present approach with FEM at time = 1s.

Figure 22 b. Strain energy convergence: comparison of the present approach with FEM at time = 3.5 s.

At t=1s, the membrane is still in the elastic domain while it is well in the elasto-plastic range at t=3.5s. The strain energy convergence curves at t=1s and t=3.5s are presented in figure 22. The displacements of the right side of the membrane, i.e. of the line x=300 mm, are given in figures 23 and 24 at t=1s and t=3.5s respectively.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

50

L.I. Xiang and Serge Cescotto

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 23. Displacements ux on the boundary x=300mm at time t=1 s.

Figure 24. Displacements ux on the boundary x=300mm at time t=3.5 s.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

51

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

Extention to Linear Fracture Mechanics Introduction In linear fracture mechanics, the stress fields near the crack tip (figure 25, r  ) are given in the local reference system ( Y1 ,Y2 ) by Westergaard [29]:

for mode 1:

 3   1  sin sin   2 2  11  K1    3      cos 1  sin sin  22    2 2 2 2r    12   sin  cos 3   2 2 

(130)

for mode 2:

  3    sin ( 2  cos cos )  2 2 2   11    K2    3   cos sin cos  22     2 2 2 2r      12   cos  ( 1  sin  sin 3 )   2 2 2 

(131)

K1 and K 2 are the stress intensity factors of modes 1 and 2 respectively.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Y2

Y2

τ

σ

r

r

θ

θ

Y1

Y1 a

a a. Mode 1: simple tension

b. Mode 2: pure shear

Figure 25. Modes 1 and 2 of fracture mechanics. Crack tip coordinates (one quarter of the plate represented).

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

52

L.I. Xiang and Serge Cescotto In the simple loading cases of figure 25, they are given by: K1    a

(132)

K 2    a

(133)

These stresses are valid for both plane stress and plane strain conditions.

Domain Decomposition and Discretization

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

If cracks are present in the domain to be studied, nodes are located at each crack tip and the Voronoi cells are constructed. Figure 26 gives an example: it shows the Delaunay triangulation of the domain and the Voronoi cell associated with a crack tip node. This cell is named a “linear fracture lechanics Voronoi cell” (LFMVC).

Figure 26. A linear fracture mechanics Voronoi cell (LFMVC) at a crack tip.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

53

The other Voronoi cells (not associated with a crack tip node) are called “ordinary Voronoi cells” (OVC). The are not represented on figure 26. The OVC’s are discretized as in the case of linear elasticity by equations 25 to 28. The LFMVC’s are discretized as follows: The assumed displacements v i are interpolated in the local reference system ( Y1 ,Y2 ) by the Laplace interpolant as in OVC: N

vi 

  J viJ

(134)

J 1

where v1 , v2 are the components of the displacement at a point in the LFMVC with respect to ( Y1 ,Y2 ) .

The assumed stresses are interpolated in the local reference system ( Y1 ,Y2 ) by: P O   P11   11     O  P22    P22   f ( r )K 1 g1 (  ) K 2 g 2 (  ) P     12   P O   12 

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

with



PF  K1H 1 K2H 2

P 

P O  P F 

(135)

(136)

 H 1   11   1  H 1   H 22   f ( r )g1 (  )  1  H  12 

(137)

H 2   11   2  H  2   H 22   f ( r )g 2 (  )  2   H 12 

(138)

   

 3   1  sin 2 sin 2    g1(  )  cos  1  sin  sin 3  2 2 2  3   sin cos   2 2 

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(139)

54

L.I. Xiang and Serge Cescotto   3    sin 2 ( 2  cos 2 cos 2 )   g 2 (  )   cos  sin  cos 3  2 2 2    cos  ( 1  sin  sin 3 )  2 2 2  

f(r ) 

(140)

1

(141)

2r

K 1 and K 2 can be considered as generalized stresses (or stress parameters) associated with the considered LFMVC. The assumed strains are interpolated in the local reference system ( Y1 ,Y2 ) by:  O   1  11   11     O  1  *   22    22   *   2     E  0  12  2 O    12 

 * 1 0

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 E in plane strain state  2 1   * with E   E in plane stress state  

P F  11    F 0   P22   2( 1  * )  P F    12   0

   1  *  v    

 

 O  DP F 

(142)

in plane strain state

in plane stress state

The assumed support tractions ri are constant over each edge K of Voronoi cells on which displacements are imposed: ri  riK

(143)

Usually, the lips of the fracture are not submitted to imposed displacements. In such a case, (143) is useless in a LFMVC. The assumption (142) implies a priori that, in the LFMVC, ij   ij . In a given problem, there could be N C crack tips. For the sake of simplicity, the LFMVC’s will be numbered from 1 to N C and the OVC’s are numbered from NC  1 to N . The introduction of these assumptions in the FdV variational principle (12) leads to the equations of table 14 with the notations of table 15. The details of the calculations are given in annex 4. It is seen that, in the absence of body forces, the only terms that require an integration over the area of a LFMVC are w1IJ , w2 IJ , V I , IH  and

N

  J dAI RI uJ in (149).

J 1 AI

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

55

Table 14. Equations derived from the FdV principle Equations

eI

 

Comments

N I I W IJ ,T RI uJ ,  e 0  e   2 V I K  



Compatibility equations for the LFMVC’s

J 1

I  1, NC

I  I

Constitutive stresses in OVC’s Constitutive stresses in LFMVC’s Compatibility equation for the OVC’s

, I  NC  1, N

I  PI ,

I  1, N C

N

AI I 

 AIJ ,T uJ ,

I  N C  1, N

J 1 NC



I 1



I ,T

I

0 I

J ,T



I

AI

Mu

N



IJ



I  N C 1

AIJ I  F~J  T~J   B KJ rK  0 ,

(145)

(146)

(147)



    R W  K     R  P  dA    I ,T

(144)



J  1, N

Equilibrium equation for each Voronoi cell

(148)

Average strain of LFM for the LFMVC’s

(149)

Compatibility equation on edge K

(150)

K 1

 I   KI1DI H 1 KI 2DI H 2 dAI A

AI  0

I

N

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.





J dAI RI uJ ,

I  1, NC

J 1 AI

N

B

KJ 

uJ

~K  U  ,

K  1, M u

J 1

Table 15. Notations and symbols used in table 14 Notations and symbols

RI

 cos  I  I  sin 

sin  I  ; cos  I 

v     1 I u1     R     v 2   u 2  

Comments

Rotation matrix between ( X1, X 2 ) and ( Y1 ,Y2 )I (figure 26)

 I   11  I I  I I I I     22    11  22 212  I  212 

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Strains in OVC

(I = NC  1 , N )

56

L.I. Xiang and Serge Cescotto Table 15. Continued Notations and symbols

 I   11  I  I    22   I  2 12 

Strains in LFMVC I

I  22

I 212

 I   11  I I  I I I   22    11  22  I   12 

I 212

PI   11  I  PI   P22   I  P  12 

I P22

I 2 P12

 K I 1

K I 2



P

K I  I K     I 1   K 2  

uI

I

I  11

I  P11

K

I

u I    I   1  u  u1I I  u 2  

v I  vI   1I   v2   Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Comments

v

I

 v1I

u2I

v2I

Stresses in LFMVC , ( I  1, N C ) with respect to its

local reference system ( Y1 ,Y2 ) I Generalized stresses or stress parameters in the LFMVC ( I  1, N C )

Displacements of node I belonging to cell I (I = NC  1 , N ) Displacements of node I belonging to cell I ( I  1, N C ) with respect to the

K( I )

Edge K of cell I

J

Laplace function (J=1,N)

~ Ti KJ 

~ KJ ~ KJ  T1  ~ Ti  J dS K ; T KJ  T2 SK



   



rJ

Stresses in OVC (I = NC  1 , N )

AI ; C I

~ IJ N ~ IJ  F1  ~ J ~ IJ  ~  F  Fi  J dA I ; F F IJ  F2  I 1 AI



local reference system ( Y1 ,Y2 ) I

local reference system ( Y1 ,Y2 )I Area and contour of cell I

~ FiIJ 



( I  1, N C ) with respect to its



 ~ J M t ~ KJ  T ; T   K 1 

   

F~J is the nodal force at node J equivalent to the body forces Fi

T~J is the nodal force at node J equivalent to the surface tractions Ti

Mu

rJ is the nodal force at node J

K 1

equivalent to the assumed surface support reactions on S u

 riK BKJ

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle Notations and symbols

Comments

U~K is a generalized

~K ~ ~ K U 2  U iK  u~i dS K ; U  ~  K U1  SK





B KJ 

displacement taking account of imposed displacements u~i on edge K

  J dS K

Integration over the edge K of a cell

SK

A IJ j 

57

 A IJ N Ij  J dC I ; AIJ   1  0  CI

A2IJ   A1IJ 

0



A2IJ

A IJ j can also be computed by A IJ j 

 N Kj ( I )B K ( I )J all K ( I )

  J   Y1 J   0    J  Y2

 0    J  Y2    J  Y1 

Derivatives of Laplace function (J=1,N)

H 1 f ( r )g1(  ); H 2  f ( r )g 2 (  ) w1IJ    J ,T H 1 dAI ; AI

w2 IJ



 

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

I  CI I

 



 w1IJ

w2 IJ

contribution of the displacements at node J on the generalized strains in the LFMVC’s



 I  DI I , I  1, N



 



 

 H 1 D I H 1 dA I   AI V I    H  2 D I H 1 dA I   AI

e 

 I

e      1  e 2 

I

W IJ is an influence matrix such that W IJ uJ gives the

J ,T H  2 dA ; I

AI

W IJ

Stress functions in a LFMVC



 



 

 H 1  0 dA  I    AI    I 0 I    IH     2  0 dA  I  H  AI 

 

Hooke’s law for cell I



 



 

H 1 D I H  2 dAI    AI    2  2 I D H dAI  H  AI 

 H 1 dA  I   A  IH I   I   H  2 dAI     AI 

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

 

I  1, N C

58

L.I. Xiang and Serge Cescotto Table 5. Continued Notations and symbols

e 0 I  ee10  0

 



 

I  0 DI H 1 dA   P I A   I  I I 0 I    IH  D P I  0 DI H  2 dA   P I   A  I 

I

  2 

eI



Comments

e     1 e 2 

I



 



 

 

  I D I H 1 dA  I    AI    I I I    IH  D     I D I H  2 dA  I   AI 

In order to avoid the calculation of the derivatives of the Laplace interpolation function in

w1IJ and w2 IJ , an integration by part is performed. w1IJ



 

 

J ,T H 1 dA  I

AI

w2 IJ



  J M 

 

CI

 

 

J ,T H  2 dA  I

AI

  J H

I ,T H 1 dC  I



1 dA

I

AI

  J M 

 

I ,T H  2 dC  I

CI

  J H



 2 dA I

AI

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

with M I  1 M I   0  I M 2 

 H 1 H 1   H  2 H  2  11  12  12    11   0     Y  Y  Y  Y  1 2  1 2     2 M 2I  ; H 1    H  ;      H 1 H 1   H  2 H  2  I M1  22  22   12   12    Y1  Y1 Y2  Y2 

 





where M 1I and M 2I are the 2 components of the outside normal to the contour of the LFMVC with respect to the local reference system ( Y1 ,Y2 ) ,. However, since the stresses (130) constitute a solution of the Theory of Elasticity, they satisfy the equilibrium equations: 11 12  0  Y1 Y2 12  22  0  Y1 Y2

1 H11

Y1 1 H12

Y1





1 H12

Y2 1 H 22

Y2

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

0

0

59

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle Consequently

w1IJ



 

 

J ,T H 1 dA  I

AI

w2 IJ



 

  J M 

I ,T H 1 dC I

CI

 

 

J ,T H  2 dA  I

AI

(151)

  J M 

 

I ,T H  2 dC I

CI

This eliminates the integration over the LFMVC area as well as the calculation of the derivatives of the Laplace function. Similarly, (149) can be written as:

 I    J RI uJ dAI   KI1DI H 1 KI 2 DI H 2 dAI

AI  0

N

J 1AI

I  1, N C

AI

Integrating by parts the first term of the right hand side, we obtain:

 I  LAIJ ,T RI uJ  DI IHI ,T KI J 1

AI  0

N

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

with





 1 T dAI  H  IH I   AI T  H  2 dAI   AI

I  1, NC

  1 dA  I    H   AI      H  2 dAI        AI

(152)



 



(153)

and  M I  J dC I 1  C I IJ LA   0  



 M2 I

0



CI



M 2I  J dC I

CI

J dC  I



 M1I  J dC I 

CI

I  1, N C , J  1, N

(154)



Using the definition of A in table 15 and introducing the angle α I between the global and the local frames (figure 26), we get: IJ

LAIJ

cos A IJ  sin  A IJ I 1 I 2   0 

0  sin  I A1IJ  cos I A2IJ

 sin  I A1IJ  cos I A2IJ   cos  I A1IJ  sin  I A2IJ 

Hence, the only terms requiring integration over a cell are V I and IH  . Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

60

L.I. Xiang and Serge Cescotto

However, these terms can be integrated analytically as explained in annex 5. Consequently, in the present theory, none of the terms requires numerical integration over the area of a cell. The only numerical integrations required are integrations over edges of Voronoi cells. This shows that the benefits obtained by this approach in the linear elastic domain and in the case of materially non linear problems remain valid for applications in linear fracture mechanics.

Solution of the Equation System Since we consider a linear elastic material, the constitutive equation for a Voronoi cell J is:

 J  CJ  J

(155)

where C  is the Hooke compliance matrix of the elastic material composing cell J. Introducing this in (148), we get: J

NC 

  I ,T IJ K I  R I ,T  J ,T P 0 I dA       R W   I  I 1  A I  



 



N



AIJ

C  A  * I

I

I  NC 1

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

J  1, N 

(156)

K 1

with

C 

* I

The term

Mu

     B KJ rK  0 ,

~ J ~ J I  F T 

I ,T J ,T 0  R  P  dAI I



1 C I AI

(157)

of (156) is integrated by parts and then, the term

AI

AI I given by (147) is introduced in (156). This gives:

 RI ,T W IJ KI  RI ,T LAIJ P0    NC



I

I 1

N 

Mu  N  ~J ~J IJ C* I AIL ,T  uL  F   A  T  B KJ rK  0 , J  1, N , J  1, N      L 1  I  N C 1 K 1 

 

 

    

If we use the notation

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

61

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

M JL 

 AIJ C*  I AIL,T N

(158)

I  N C 1

this result takes the form:

 RI ,T W IJ KI  RI ,T LAIJ P0    NC



I

I 1

N

Mu

L 1

K 1

M JL  uL   B KJ rK

   

~J ~J  F  T , J  1, N

(159)

On the other hand, we have e1I 

 AI

e2I 



 

P 0 D I H 1 dAI  K I 1

AI

 

P 0 D I H  2 dAI  K I 1

AI

 eI

 

 

H 1 D I H 1 dAI  K I 2



 

H 1 D I H  2 dAI

AI

 

H  2 D I H 1 dAI  K I 2

AI



 

H  2 D I H  2 dAI

AI

 

e I  I   1   e0   V I K I I e2 

(160)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

With this, the compatibility equation in the LFMVC (144) becomes:

e0 I   V I KI  e0 I  e I  2 V I K  W IJ ,T RI uJ , N

I  1, NC

J 1

This equation allows the calculation of the stress intensity factors K Σ  for crack tip I: I

N



  J 1

 

 I ,

K I   V I ,1   W IJ ,T RI  uJ    V I ,1 e 

I  1, NC

Introducing, from table 15,

e I  IH I 0I in the above equation and combining with (151), we can get after some manipulations:

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(161)

62

L.I. Xiang and Serge Cescotto

K I  VD I ,1

N

WR J uJ

(162)

J 1

0 I  B0 IJ uJ N

J 1

with

VD I  V I 

1 IH I DI IH I ,T AI

WRJ  W IJ ,T RI 

B 

0 IJ



1 IH I LAIJ ,T RI AI

1 LAIJ ,T RI  1 DI IH I ,T  VD I ,1 WR J AI AI

Introducing this in (159) yields, after some calculations: N N C   



 JL  1 WAJL  1 RAJL  1 WBJL  1 RH JL  uL    2 AI AI AI  AI   



 RW   L 1 I 1 

N





M JL  uL 

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

L1

Mu

~ J ~ J  B KJ rK   F   T  ,

J  1, N

(163)

K 1

with

RWJL  RI ,T W IJ VDI ,1W IL,T RI

(164)

WAJL  RI ,T W IJ VDI ,1IHI LAIL,T RI

(165)

WB JL  RI ,T LAIJ IHI ,T VDI ,1W IL,T RI

(166)

RAJL  RI ,T LAIJ DI ,1LAIL,T RI

(167)

RHJL  RI ,T LAIJ IHI ,T VDI ,1IHI LAIL,T RI

(168)

If we use the notation

MAJL 

NC 



1



I



 RW JL  AI WAJL  AI RAJL  AI WB JL  A2 RHJL  1

1

1

I 1

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(169)

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

63

then (163) becomes: ~J ~J  MAJL  M JL  uL   B KJ rK   F   T  , Mu

N

L 1

J  1, N

(170)

K 1

or N



MW JL  uL 

L 1

Mu

 B KJ rK  Q

~J

, J  1, N

(171)

K 1

with

MW JL  MAJL  M JL ,

J  1, N , L  1, N

(172)

Equations (150) and (172) constitute an equation system of the form:  M W   T  B 

 

~  B  q  Q   0  r  U~ 

(173)

which is similar to the one obtained in linear elasticity (75). The matrix MW  is symmetric. Exactly as in the linear elastic case, equations (150) which, in matrix form, become

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

BT q  U~ constitute a set of constraints on the nodal displacements q. They can be used to remove some imposed displacements from the unknowns q. ~ This leads to an equation system of the classical form M q  Q. After solving this system, the displacements are known and (162) is used to compute the stress intensity coefficients K  I at each crack tip.

Patch Tests In linear fracture mechanics, it is possible to perform a patch test by loading a rectangular plate as shown on figure 27. Before performing numerical patch tests, it is interesting to note that, for the loading of figure 27, the displacement field is of the form: v1  a1 Y1 v2  a2 Y2

if it is expressed in the local reference system at the crack tip ( Y1,Y2 ). In such a case, we must find K1  K2  0

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(174)

64

L.I. Xiang and Serge Cescotto b

1000.N/m

1000.N/m

Y1

b 2a

Y1

Y2 Figure 27. Patch test loading in linear fracture mechanics. The crack thickness is assumed to be infinitely small.

More generally, if we consider a displacement field like v1  1  Y2  a1 Y1

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

v2   2  X1  a2 Y2

(175)

superposing the patch test loading with the 3 rigid body modes (translations 1 and  2 plus rotation  ), we also expect that K1  K2  0 . Below, it is proved analytically that it is the case. The compatibility equations (144) for the LFMVC’s can be written:

eI

 

N I I W IJ ,T vJ , I  1, NC  e 0  e   2 V I K   



(176)

vJ  RI uJ

(177)

J 1

with

Introducing (135) in the definition of e given in table 15, we get: I

eI  IH I D I

P0 I  V I ,T KK12 

(178)

With this result, we get:

 I  e I  V I ,T K IH I 0

eI  e0

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(179)

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

65

Combining (176) and (179), we get:

V I ,T K  IH I 0  2 V I K  W IJ ,T vJ , N

I  1, NC

J 1

Taking account of the symmetry of V  , the following equation is obtained: I

V I K  

 W IJ ,T vJ  IH I 0  I  1, NC N

(180)

J 1

With the definition of W in table 15 and (151), we get:   ( M I H 1  M I H 1 )dC J I 1 11 2 12   CI IJ , T W    I 2 I 2   J ( M1 H11  M 2 H12 )dC I C I





1

1

  J ( M 2 H 22  M1 H12 )dC I  I

I

CI



CI





 2  M I H  2 )dC   J ( M 2I H 22 I 1 12

(181)

N

Now, we can calculate

 W IJ ,T vJ :

J 1 N

 W IJ ,T vJ

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

J 1

N N   1 1 1 1   J v1J ( M1I H11  M 2I H12 )dC I   J v2J ( M 2I H 22  M1I H12 )dC I     C J 1  C I J 1  I  N N   J I 2 I 2 J I 2 I 2  J v1 ( M1 H11  M 2 H12 )dC I   J v2 ( M 2 H 22  M1 H12 )dC I   C I J 1  C I J 1  









1  M I H 1 )dC  1  M I H 1 )dC   v1( M1I H11 v2 ( M 2I H 22 I I  2 12 1 12   CI  CI   I 2 I 2 I 2 I 2  v1( M1 H11  M 2 H12 )dC I  v2 ( M 2 H 22  M1 H12 )dC I  C  CI  I 









Integrating by parts yields:   1 v1  1 v1 v2 1 v2   H12 (  )  H 22 dAI    H11  Y1 Y2 Y1 Y2  N    W IJ ,T vJ   AI    H  2 v1  H  2 ( v1  v2 )  H  2 v2 dA  J 1 I 12 Y 22 Y    11 Y1  2 Y1 2  AI 







Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(182)

66

L.I. Xiang and Serge Cescotto For the particular case of the displacements (175), (182) becomes



 

 a H 1  a H 1 dA  1 11 2 22 I    AI  IJ , T J W  v    2 2  a1H11  a2 H 22 dAI  J 1 A   I  N





(183)

On the other hand, equation (149) gives:

 I    J dAI vJ  DI IH I ,T KI J 1 N

AI  0

I  1, NC

AI

or:    v1   Y dAI  1  AI    I 1  v2  1 DI IH I ,T K  I 0  dA   I AI  Y2 A I  A  I   v1  v2  Y dAI  Y dAI  1 A 2  AI  I 



 

 

I  1, N C

(184)



Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

If we pre-multiply by IH I , (184) becomes :    v1   Y dAI  1  AI    I  1 IH I  0  1 IH I  v2 dAI IH I DI IH I ,T K  I  AI  Y A I A 2   I   v1  v2  Y dAI  Y dAI  1 A 2  AI  I 



 

 

(185)



For the particular case of the displacements (175), (185) becomes



 

 a H 1  a H 1 dA  1 11 2 22 I   I   1 A IH I  0   I 2 IH I DI IH I ,T K  I   2 A a H  a H dA I  1 11 2 22 I A   I 

 



Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

I  1, N C (186)

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

67

Replacing (186) and (183) in (180) gives :  I 1  V   IH I DI IH I ,T A I 

 K  I  0 I  1, N C  

It is easy to see that, in this equation, the matrix  V I  

1 IH I DI IH I ,T AI

(187)

  is regular. 

This proves that K  0 if the displacement field is a rigid body mode or corresponds to a patch test loading. It must be noted that the analytical development above implies the exact evaluation of all the terms involved in the equations used. This is the case for V I and IH I which are calculated analytically (annex 5) but not for the other terms that imply a numerical integration on the contours or the edges of the Voronoi cells. Consequently, in practice, K will be only approximately equal to zero, the degree of approximation depending on the precision of the numerical integration scheme. To evaluate this, a number of numerical patch tests (figure 27) are performed. The Voronoi cells are shown in figure 28 where only a quarter of the domain is studied by symmetry. The crack is represented by a thick red line but, in the computations, its thickness is equal to zero.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

INITIAL STRUCTURE

INITIAL STRUCTURE

ALL SHARP EDGES

PLANE VIEW X -Y ALL SHARP EDGES

PLANE VIEW X -Y

MIN

MAX

X

0.000

800.000

Y

0.000

800.000

Z

0.000

0.000

MIN

MAX

X

-5.599

100.000

Y

-23.278

100.000

Z

0.000

0.000

ELEMENTS SELECTION ALL

ELEMENTS SELECTION ALL

X Y

DESFIN

Linear Application

JangNaRa

9.4 12/09/2007

output_3

X Y

Case 1: 5 cells Linear Application Crack length: a=400mm; Domain size: b=800mm;

Case 2: 116 cells Crack length: a=5mm; Domain size: b=100mm

Figure 28. Numerical patch tests.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

DESFIN

JangNaRa

9.4 12/09/2

output_3

L.I. Xiang and Serge Cescotto

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

68

Figure 28. Patch test results.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

69

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

The results in figures 28 and 29 show the evolution of K, P0,  for different numbers of integration points (nb of IP) on the edges of the LFMVC located at the crack tip and on the edges of the OVC’s. This evolution is expressed with the help of the following variables: N



AK ( ijK  ijexact )( ijK  ijexact ) /

L 2 _   K 1

N

 AK

K 1 N

 AK

ijexact ijexact ) /

K 1

exact

L2 _ P 

 AK

K 1

( P0ij  P0ij

0

N

K

exact

)( P0ij  P0ij

)

1000

Translation Tests If we impose in (175), the displacement field reduces to a translation. Introducing these conditions in (183), we get: N

 W 

IJ ,T

0

(188)

J 1

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

This is valid if all the integrations are performed exactly but is only an approximation if numerical integration is used. OVC

800 mm

LFMVC

LFMVC 0.001 mm crack 10 mm

800mm LFMVC

OVC

Detail of the crack (not at scale)

Figure 29. Geometry and Voronoi cells for 12 nodes. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

70

L.I. Xiang and Serge Cescotto 316 nodes

196 nodes

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 30. Voronoi cells for 196 and 316 nodes.

Figure 31. Convergence on

K 1 for translation.

A series of translation tests ( u x  1mm ; u y  0 mm on all the nodes) with different numbers of cells are performed to evaluate the performance of numerical integration. Figure 29 shows the configuration with 12 cells. Figure 30 illustrates the models with 196 and 316nodes. N

Figures 31 and 32 show the evolution of K 1 and

 W 

IJ ,T

for different numbers of

J 1

nodes and different numbers of integration points respectively. Some results are extremely close to each other so that it is hard to see the difference between the curves.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

71

For all the cases, K  2 is equal to zero within machine presicion.

Figure 32. Convergence on SumW  

N

 W IJ ,T

for translation.

J 1

Mode 1 Tests

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

With the same models as in translation case, we can perform numerical tests for mode 1 as shown in figure 33. 1000.N/m 800 mm

Y1

800 mm

Y1

1000.N/m

Y2 Figure 33. Mode 1 test loading in linear fracture mechanics. The details of crack geometry is given in figure 29.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

72

L.I. Xiang and Serge Cescotto Theoretically,

K 1     a

and

K 2  0

in which    1000 N / mm2

and

a  10 mm.

Figure 34 shows the convergence on K 1 with different numbers of nodes and 2 Gauss integration points on the edges of the Voronoi cells. Figure 35 shows the convergence on

K 1 for 12 nodes using the trapeze integration scheme on the edges of the LFMVC and 2 Gauss points on the edges of the OVC’s.

K 1 for mode 1.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 34. Convergence on

Figure 35. Convergence on

K 1 for mode 1 (12 nodes).

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

73

Mode 2 Tests With the same models as in translation case, we can perform numerical tests for mode 2 as shown in figure 36. 1000.N/m 800 mm

Y1 800 mm

Y1

1000.N/m

Y2

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 36. Mode 2 test loading in linear fracture mechanics. The details of crack geometry is given in figure 29.

Figure 36. Convergence on K 2 for mode 2.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

74

L.I. Xiang and Serge Cescotto

2 Theoretically, K 2    a and K 1  0 in which    1000 N / mm and a  10 mm. Figure 34 shows the convergence on K 2 with different numbers of nodes and different numbers of Gauss integration points.

Bar with a Single Edge Crack The problem of figure 37 is treated as a last example.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 37. Bar with a single edge crack (not at scale).

Figure 38. Voronoi cells for 17 nodes and 316 nodes.

The crack (in red) has no thickness and is located at mid span. The values used for the computations are:

Plane stress state is considered. The theoretical value of the stress intensity coefficient is given in [34] for Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

:

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

2tg K   w cos

75

a

a  a 2w  0.752  2.02 *  0.37 * (1  sin ) 3   a  w 2w  2w

The computations were performed for different numbers of nodes and different numbers of integration points on the edges of the LFMVC. Figure 38 shows the Voronoi cells for 17 nodes and 316 nodes. The values of the stress intensity coefficient obtained are collected in table 16. Table 16. Stress intensity coefficients for the single edge crack problem Nb of IP

17 nodes

116 nodes

352 nodes

718 nodes

Theory

2

156

743

1038

1503

6344

9

2201

5124

5288

5560

6344

32

3630

5569

5886

6056

6344

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

The convergence on the stress intensity coefficient is summarized in the diagram of figure 39.

Figure 39. Convergence of the stress intensity factor.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

76

L.I. Xiang and Serge Cescotto

Conclusions The Fraeijs de Veubeke variational principle has been used to develop a constraint natural neighbour method in which the displacements, stresses, strains and surface support reactions can be discretized separately. The additional degrees of freedom linked with the assumed stresses and strains can be eliminated at the level of the Voronoi cells, finally leading to a system of equations of the same size as in the classical displacement-based method. In the linear elastic case and in the extension to materially non linear problems, in the absence of body forces, the calculation of integrals over the area of the domain is avoided: only integrations on the edges of the Voronoi cells are required, for which classical Gauss numerical integration with 2 Gauss integration points is sufficient to pass the patch test. In the extension to linear fracture mechanics, in the Voronoi cell at the crack tip, an assumption on the stresses deduced from the exact solution of Westergaard [29] has been introduced by which the stress intensity coefficients become primary variables of the method. In this case, some integrals over the area of this crack tip cell remain but they can be calculated analytically so that, in the formulation, only numerical integrations on the edges of the Voronoi cells are required. In all the cases, the derivatives of the nodal shape functions are not required in the resulting formulation. Concerning the boundary conditions, displacements can be imposed in 2 ways. ~ In the spirit of the Fraeijs de Veubeke principle, boundary conditions of the type ui  u i

~  u~ ( s ) can be be imposed in the average sense; hence, any function u i i accommodated by the method; However, since the constraint natural neighbour method is used, the interpolation of displacements on the boundary is linear between 2 adjacent nodes. So, if the imposed ~ are linear between 2 adjacent nodes, they can be imposed exactly. This is displacements u i

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

on

Su can

~  0 . In such a case, it is equivalent to impose the displacements obviously the case with u i of these 2 adjacent nodes to zero. With the present formulation, the case of nearly incompressible materials can be treated without locking and the patch test is successfully passed.

Annex 1: Construction of the Voronoi Cells Case of a Convex Domain Let us consider the example of figure A1.1. The construction of a Delaunay triangulation on the node set is the first step: see for example “Applied Computational Geometry: Towards Geometric Engineering'' (Ming C. Lin and Dinesh Manocha, editors), volume 1148 of Lecture Notes in Computer Science, pages 203-222, Springer-Verlag, Berlin, May 1996. The Delaunay triangles have the property that the circumcircle of a Delaunay triangle does not contain any other node than the 3 nodes defining its 3 corners.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle 1 16 17

14

2

15

3

21

4

20 22

13

5

19 23 24

18

6

25 12 8

7

10 9 11

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure A1.1. Domain contour and nodes.

Figure A1.2. Delaunay triangulation.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

77

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

78

L.I. Xiang and Serge Cescotto

Figure A1.3. Voronoi polygons.

Figure A1.2 shows the Delaunay triangulation obtained for the example. The second step is the construction of the Voronoi polygons (Figure A1.3). The edges of the Voronoi polygons associated with a node I are simply segments joining successive centers of the circumcircles of the Delaunay triangles sharing node I. The last step is the construction of the Voronoi cells (figure A1.4). The Voronoi cells are the parts of the Voronoi polygons inside the domain contour. TheVoronoi cell associated with node I has the following property: for any point X inside this cell, we have:

d ( X , I )  d ( X , J ) J  I where d ( A, B) is the distance between 2 points A and B. A Voronoi cell having at least 1 edge belonging to the domain contour is called an exterior Voronoi cell. A Voronoi cell no edge of which belongs to the domain contour is called an interior Voronoi cell. The corresponding node is inside the domain.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

79

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure A1.4 shows this classification for the treated example.

10 exterior Voronoi cells corresponding to the 10 contour nodes 7 exterior Voronoi cells corresponding to 7 of the 15 interior nodes 8 interior Voronoi cells corresponding to 8 of the 15 interior nodes Figure A1.4. Classification of the Voronoi cells.

Case of a non Convex Domain For the case of non convex domains (or discontinuous domains or multi-connected domains), the definition of a Voronoi cell is extended as follows: The Voronoi cell associated with node I has the following property: for any point X  ( X 1 , X 2 ) inside this cell, we have:

d( X , I )  d( X , J ) J  I , S X  I  S  0 , S X  J  S  0 where S A  B means the segment going from A to B and where S is the contour of the domain. An example is given in figures A1.5, A1.6 and A1.7

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

80

L.I. Xiang and Serge Cescotto

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure A1.5. Non convex domain. This example differs from that of. figure A1.1 by the addition of the 2 nodes .

Figure A1.6. Delaunay triangulation of the non convex domain.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

12 exterior Voronoi cells corresponding to the 12 contour nodes 7 exterior Voronoi cells corresponding to 7 of the 15 interior nodes 8 interior Voronoi cells corresponding to 8 of the 15 interior nodes Figure A1.7. Voronoi cells of the non convex domain.

Annex.2: Laplace Interpolant Case of a Point X Inside the Domain The displacement field is interpolated by N

ui    J uiJ J 1

For Laplace interpolant Φ J ( X ) , the definition domain is explained on figure A2.1. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

81

82

L.I. Xiang and Serge Cescotto To calculate the interpolation functions  J of the Laplace type, the Bowyer-Watson

algorithm [6,7] can be used. It consists of the following steps.  Step 1: find the Delaunay triangles circumcircles inside which point X ( X 1 , X 2 ) is located.  Step 2: find the corresponding Delaunay triangles and delete the internal edges  Step 3: In the set containing the initial nodes plus point X ( X 1 , X 2 ) , construct the

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Voronoi polygon associated with point X ( X 1 , X 2 ) .

Node J Domain on which the Laplace interpolant  J is non zero If X ( X1 , X 2 ) is inside this domain,  J ( X )  0 else,  J ( X )  0 Figure A2.1. Definition domain of the Laplace interpolant.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

Point

83

X ( X1, X 2 ) Figure A2.2.a Bowyer-Watson algorithm: step 1.



s (X ) Step 4: compute  I ( X )  I where h I is the distance between point X and its h (X ) I

natural neighbour I and s I is the length of the edge of the Voronoi polygon perpendicular to X-I. Then I ( X ) 

I ( X )

I ( X )

is the value of the Laplace interpolant associated with node I computed at point X.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

84

L.I. Xiang and Serge Cescotto

X

The 3 triangles corresponding to the 3 circumcircles found in step 1

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

The natural neighbours of point

X (X1, X 2 ) Point

X (X1, X 2 ) Figure A2.2.b Bowyer-Watson algorithm: step 2.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

X

The Voronoi polygon associated with point X ( X 1 , X 2 )

The natural neighbours of point

X (X1, X 2 ) Point X ( X 1 , X 2 )

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure A2.2.c Bowyer-Watson algorithm: step 3. 2

h2 s2

3

s3

1 h1

h3 X

s1

h5

5

s4

h4

s5 4

Figure A2.2.d Bowyer-Watson algorithm: step 4. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

85

86

L.I. Xiang and Serge Cescotto

Case of a Point X on the Domain Contour Consider point X belonging to the contour, for example between nodes 14 and 16 of figure A2.3, such that its natural neighbours are nodes 14, 15,16. The Voronoi polygon associated with X is indicated on figure A2.3. It is seen that s14 = s16 =  . From the definition of the Laplace interpolant, it is easy to show [5] that:

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

14( X )  1   ; 16( X )   ;  K ( X )  0 , K  14, 16

Figure A2.3. Laplace interpolation functions for point X.

Consider the case of figure A2.4. For the point X on a boundary near a non convex region, the natural neighbours can be the points . In particular, points 6, 7, 26 are natural neighbours for any ξ . However, points 25, 27 are natural neighbours or not according to the value of ξ (for the particular position of X on the figure, they are not).

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

87

Note that, although the circumcircle of triangle 3-4-6 includes point X, points 3 and 4 are not natural neighbours of X because, with respect to its edge 3-6 belonging to the given contour, point X is located on the opposite side of point 4 (see annex 1). Figure A2.5 shows the Delaunay triangles in the vicinity of X. Point X has been added to the points of the domain to construct these triangles. The Voronoi polygons associated with this Delaunay triangulation are also shown. It is seen that, for the chosen position of X, the polygon associated with X has common edges with the Voronoi polygons associated with points 6, 7, 26 . This simply means that, for the chosen position of X, its natural neighbours are points 6, 7, 26 . It is also seen that the Voronoi polygon associated with x is unbounded. Using the same arguments as above, it is easy to show that the Laplace interpolation functions are: 26( X )  1   ; 6 ( X )   ;  K ( X )  0 , K  6, 26

So, even in the case of a non convex domain boundary, the Laplace interpolation functions for a point X on this boundary are linear functions of the position ξ of the point.

3

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

4

α

ξ 1 6

ξ X

25

ξ 0

26 7

27

Figure A2.4. Interpolation on a boundary near a non convex region.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

88

L.I. Xiang and Serge Cescotto

Figure A2.5. Interpolation on a boundary near a non convex region: detail.

Annex 3. Particular Case of a Regular Grid of Nodes Laplace Interpolant Let us consider the case of a regular grid of nodes with spacing a1  a2  a (figure A3.1.a). It is easily seen that the Voronoi polygons associated with these nodes are the squares indicated in figures A3.1.b.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

a

89

X1

a

X2

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure A3.1.a A regular grid of nodes.

Figure A3.1.b Voronoi polygons of a regular grid of nodes.

Let us calculate the value of the Laplace interpolants at point X located on an edge AD of a Voronoi polygon (figure A3.1.c). The position of X is given by the distance: 

a a u . 2 2

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

90

L.I. Xiang and Serge Cescotto Let 2

u a

 1    1

We get the positions of points A,B,C,D:

 A  1;  B  1 2 ;  C  1 2 ;  D  1

1

2

A

B

a

4

3

u C Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

X D

5

6

a

Delaunay triangles

Circumcircles

Figure A3.1.c Calculation of Laplace interpolants on edge AD.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Voronoi polygons

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

Case 1: X between A and B For  A     B , we get from figure A3.1.d:

h1  h2 

1 a  2  4  5 2

s1  s 2  

h3  h4 

1 a 1  2 2

s3  s 4 

1   2 

2

  2  1 2(   2 )

1   2  

 4

a (  2  2  1 ) 2   4  5 4(   2 )

a (  2  2  1 ) 1   2 4

3   4 

2

  2  1 2

3   4 



I 

2 2  4  2

I 1,4

2 4

 2  2

5   6  0

2

1 P h2

h1 s2

s1

a A

S

Q

X Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

B h3

u

3

h4 4 s3

s4 R C

a

D

6

5

Point

X ( X1, X 2 )

The natural neighbours of point

X ( X1, X 2 )

Figure A3.1.d Calculation of Laplace interpolants on edge AD, zone AB.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

91

92

L.I. Xiang and Serge Cescotto

Case 2: X between B and C For  B    C , we get from figure A3.1.e: a (  2  2  1 ) 2   4  5 4(   2 )

h1  h2 

1 a  2  4  5 2

s1  s 2  

h3  h4 

1 a 1  2 2

s3  s 4  a 1   2

h5  h6 

1 a  2  4  5 2

s5  s 6  

1   2  1   2 

a (  2  2  1 ) 2   4  5 4(   2 )

 2  2  1  2  2  1 3   4  2  5   6  2(   2 ) 2(   2 )

I 

I 1,6

4 2  20 2  4

1 2 1 1 1 2 (   )  3   4  (1  ) 5  6  (  ) 2 8 5  2 2 8 5 5  2

2

1 h1

h2

P s1

a

s2 A

S

Q

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

B X

h3

h4 4

3 s4

s3

u

C

a R

D s5 U

T s6

h5

h6

5

Point X ( X 1 , X 2 )

6

The natural neighbours of point

X (X1, X 2 )

Figure A3.1.e. Calculation of Laplace interpolants on edge AD, zone BC.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

Case 3: X between C and D For C     D , we get from figure A3.1.f:

h3  h4  h5  h6 

1 a 1  2 2

a (  2  2  1 ) 1   2 4 2

1 a  2  4  5 2

s5  s 6  

a (   2  1 ) 2   4  5 4(   2 )

 2  2  1 2

5  6 

 2  2  1 2(   2 )

3   4  

1  2  0

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

s3  s 4 

3   4 

2 4

 I 

2 2  4  2

I  3,6

 2  2

5  6 

 4

Figure A3.1.f. Calculation of Laplace interpolants on edge AD, zone CD.

Figure A3.2 illustrates the evolution of the Laplace interpolants with  . The integrals of these functions on the interval  1    1 are easily computed.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

93

94

L.I. Xiang and Serge Cescotto

0.5 0.4

3 ; 4

0.4 0.3 0.3 0.2

1 ;  2

5 ; 6

0.2 0.1 0.1

-1.00

-0.75

-0.50

-0.25

0.0 0.00

0.25

0.50

0.75



1.00

-0.1

Figure A3.2. Laplace interpolants for a regular grid.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Let Cc 

 5  2  1  1     0.14545853 25461073 5( 2  1 )  5 ln  20   5  2  1   

(A3.1)

Cm 

 5  2  1  1     0.70908293 49077854 5( 3  2 )  5 ln  10  5  2  1    

(A3.2)

Then, we find: 1



1d 

1

  2 d  Cc

1

1

1

1



 3 d 

  4 d  Cm

1

1

1

1



 5 d 

1

  6 d  Cc

1

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(A3.3)

(A3.4)

(A3.5)

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

95

Calculation of Consider a Voronoi cell I and the 8 surrounding nodes (figure A3.3) X1

X2 1

a

2

3

p 4

I=5

7

6 q

8 s r

a

9

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure A3.3. Cell I and surrounding nodes (here I =5).

By definition,

A IJ j 



N Ij  J ds I 

cI

 

N tj  J ds t 

t  p ,q ,r ,s st

a 2

1

   J d t N tj

t  p ,q ,r ,s 1

with the following values for N tj Edge t

N 1t

N 2t

p

0

-1

q

1

0

r

0

1

s

-1

0

From section A3.1 above, we see that only the terms A IJ j for J  1 to 9 will differ from zero. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

96

L.I. Xiang and Serge Cescotto The calculation of these nonzero terms is summarized in the table below.

J  1 to 9 with I  5 Table A3.1. Calculation of A IJ j for J

I 5 A1I 1

p

Contribution of edge q r

0

0

0

s -

J=1

A2I 1

-

A1I 2

0

J=2

A2I 2

-

A1I 3 -

A1I 4 -

A1I 5 Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

J=5

A2I 5

J=7

J=8

A2I 6

a Cc 2 0

-

A1I 6 J=6

a Cc 2 0

J=4

A2I 4

a Cm 2 0

J=3

A2I 3

a Cc 2

a Cm 2 0

-

a Cc 2

a Cc 2

0

0

0

a Cc 2

0

0

0

0

a Cc 2

0

0

0

0

0

0

0

0

a Cc 2

a Cm 2

0

0

a Cm 2

0

a Cm 2

0

0

0

a Cc 2

0

-

-

a Cc 2

a Cm 2 0

-

a Cm 2

a Cc 2

A1I 7

0

0

0

A2I 7

0

0

a Cc 2

A1I 8

0

a Cc 2

0

A2I 8

0

0

a Cm 2

0

A1I 9

0

a Cc 2

0

0

A2I 9

0

0

a Cc 2

0

J=9

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

-

0 -

a Cc 2

Total

A1I 1 = -

a Cc 2

A2I 1 = -

a Cc 2

A1I 2 = 0 a 2 a I3 A1 = Cc 2 a I3 A2 = - Cc 2 a I4 A1 = - Cm 2

A2I 2 = - Cm

A2I 4 = 0 A1I 5 = 0 A2I 5 = 0 A1I 6 =

a Cm 2

A2I 6 = 0 a 2

A1I 7 = - Cc A2I 7 = Cc A1I 8 = 0 a Cm 2 a A1I 9 = Cc 2 a I9 A2 = Cc 2

A2I 8 =

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

97

Annex 4. Introduction of the Hypotheses in the FdV Principle From (5) to (12), the FdV variational equation writes:   1   2  3   4  5  6  0

Calculation of 1 We have:

       J   O  K J1 DJ H 1 K J2 DJ H 2 , PJ

 P O  K J1 H 1  K J2 H 2 , J  1, N C

NC 

J  1, N C

   I OI I I I  1 I  1 I I 1  dAI K1  D H dAI  K2  D H dAI      I 1  A1 A1  AI 

 

  N



 AI



I

 



 



I

I  NC 1



I    O  dAI   K  I eI   AI  I I I 1 A I 1 I  N 1 NC



NC

I

N

C

I

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

with

K  K  I   1  K 2 

I



 



 



 H 1 dA  I   A IH  IH I   1    I  IH  2  2  H dAI     AI 

I  1, N C

e  ; eI   1  e 2 

I

  I D I H 1 dA  I    H 1 dA I    AI    I I    AI   D   2 dA I    I D I H  2 dA   H I      AI   AI



Let I

 

Hence

eI  IH I DI I e1I and e 2I can be seen as a generalized strains in LFMVC n° I conjugated to the

generalized stresses (or stress parameters) K I 1 and K I 2 Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

98

L.I. Xiang and Serge Cescotto

Calculation of  2  1 u

N

 2 

u j

  ij  2 ( X ji  X i 

I 1 AI

 )   ij dAI 

For I  1, NC (LFMVC’s), we have: NC 

  1 vi v j    )   ijI dAI   ( 2  Y  Y j i       NC N N    J  J   I 1 J J I  ( vi  v j )   ij dAI   Pij 2  Y  Y    I 1 J 1 i  J 1 j   AI 

 I  Pij I 1  AI

 

 





N  N C

 NC      I I   J J I dA         P   dA  v  P    I I   I 1 A J 1 I 1 AI    I     N  NC  I     0  J I I J J J   dAI  K 1 H1   dAI  K  2 H 2   dAI v    P  J 1I 1 AI  AI AI  

 

 

 



NC



   P O I 1 AI



I

 

 

  I   I  IJ IJ  I 0  J J   K  2 w2  P  dAI v    K 1 w1  J 1  I 1   AI  

 NC 



 I  0 I 0 I  0 I 1 I 2  P A   K H  K H dA  I I 1 2  I 1  AI     NC I   I I  e 0 dAI   K  V I K  I  dAI   K     I 1  AI AI      N NC  I    I 0 IJ , T I J I J R  P  R dAI u     K  W    J 1I 1  AI     



 









NC 

 

 







 I  0 I 0 I  0 I 1 I 2  P A   K H  K H dA  I I 1 2  I 1  AI     NC I   I I  e 0 dAI   K  V I K  I  dAI   K     I 1  AI AI  



 d AI

I   K I 1 H 1  K I 2 H 2    O  K I 1 DI H 1  K I 2 DI H 2  

N  NC 

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.





 









 

 



Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

99

with

v  vJ   1  v2 

J

 RI uJ the displacements of node J expressed in the local reference

frame attached to the LFMVC n° I (figure A4.1) Crack n° I

αI

X1

Y1

Y1

X2 Y2 Figure A4.1. Global and local reference frames.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 v  vJ   1  v2    J   Y1 J   0    J  Y2

w1IJ



 

J

 RI uJ

 0    J  ; Y2    J  Y1 

R I

 

 cos  I   sin  I

w2 IJ

J ,T H 1 dA ; I

AI



 

sin  I  cos  I 

 

J ,T H  2 dA I

AI

w IJ , T W    1

IJ 

  IJ   w2 



 



 

 H 1 D I H 1 dA I   AI V I    H  2 D I H 1 dA I   AI



 



 

H 1 D I H  2 dA I    AI   H  2 D I H  2 dAI   AI 

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

100

L.I. Xiang and Serge Cescotto



0 I  e  e0   1  0 e 2 



 



 

I  0 DI H 1 dA   P I  H 1 dAI  A     I   AI  I 0 I   D P 2 H dA I    I 0 DI H  2 dA  P  I  A     I A  I 

I



 



For I  NC  1, N (OVC’s), we have:  1 u

N

 )   ij dAI 

u j

  ij  2 ( X ji  X i 

I  N C 1 AI

N





I  NC 1

 ijI

 CI

N

1 I I  2 ( N j u i  N i u j 

 ) dC I   ijI  ijI AI  I  NC 1

 N

With the notation (48) and taking account of ui 

  J uiJ as

well as of the

J 1

symmetry of the Σ ij , this becomes : N

 1 u

   ij  2 ( X ji  

I  NC 1 AI

 )   ij dAI X i 

u j



N N   ijI  AiIJ u Jj    ijI  ijI AI   I  NC 1  J 1  I  NC 1



N N  I I   AIJ ,T uJ     I AI   I  NC 1  J 1  I  NC 1

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

N





N









with  u  uJ   1  u 2 

I

11  I    22     12 

  11  I     22  ; 2   12 

J

;

Calculation of 3 N

 3 

 1 u

u j



  ij  2 ( X ij  X i )  ij dAI

I 1 AI



Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,



I

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle For I  1, NC (LFMVC’s), we have: NC 

  1 vi v j   I  )   ij dAI   (  2 Y j Yi     N  NC  I   I 0 IJ , T I J J I J R u  P  R u dAI     K  W   J 1 I 1  AI   

 I  Pij I 1  AI

 

 





NC 

 I I   0 0 I 0 I  I 1 I  I 2  P  A   P K D H  K D H dA  I I 1 2  I 1  AI  

 

NC 

 





 

 

  I  I  K I V I K I  dA   K e       I    I 1  A I  



with  H 1 dA  I     IH 1   AI IH         IH 2   H  2 dA I     AI 

 

e  I  ee1 

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 

I

 2 



 



 

 H 1  0 dA  I   AI    I 0 I    IH      0 dA  I   H  AI 

 

For I  NC  1, N (OVC’s), we have: N

 1 u



u j

  ij  2 ( X ij  X i )  ij dAI  

I  N C 1 AI

N





I  NC 1



 N

N



I  N C 1  J 1

N



  J 1

 

I



N



I  N C 1

 ijI   AiIJ u Jj    ijI ijI AI

 AIJ ,T uJ  

N

  I I AI

I  NC 1

with  11  I    22     12 

I

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

101

102

L.I. Xiang and Serge Cescotto

Calculation of  4 N

 4  



N

Fi ui dAI  

I 1 AI

N



uiJ

I 1 J 1



N

Fi  J dAI  

 u J F 

~J

J 1

AI

Calculation of  5



 5   Ti ui dS  

Mt

N



K 1 J 1

St



uiJ

N

Ti  J dS K  

 u J T 

~ J

J 1

SK

Calculation of  6 Mu 

  K  K ~  6  ( u i  u i ) dS K  ri  u i dS K   ri K 1  SK SK







We assume that no edge of the LFMVC’s is subjected to imposed displacements. So, these edges do not belong to S u . Consequently, the result of the calculation of  6 is the same as in the linear elastic case:

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 6 =



N ~  t iK U iK  u iJ B KJ  K 1 J 1  Mu





Mu



N

K 1

 

J 1

 Mu   N  J KJ rK    u B        J 1 K 1 

 



N

~K   rK U    B KJ uJ   

  J 1

u

 Mu   B KJ rK     K 1 

J



Calculation of   0 Substitution of the preceding results in   0 gives

 

NC

 K 

I 1

 

N   0 I  e  I  ( V I  V I ,T )K I  I W IJ ,T RI uJ  e  e    J 1  

I



  I AI I  AI I  N

+

I  NC 1

N N  Mu    I   AIJ ,T uJ  I AI  + rK  U~ K  B KJ uJ    K 1   I  N C 1 J 1  J 1   

N

+







 

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

103

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle  NC   I  I ,T  0 IJ I I , T J dAI    R W  K    R  P   I 1  AI   

N



J

 u 

J 1





N

Mu

I  NC 1

K 1

~ J ~ J  AIJ I  F   T    B KJ rK

NC





 0

I 1





NC



I 1

P 0

I



 A  I

 

 

 I N



 dAI 

 I 0I  K I 1 H 1  K I 2 H 2   P 

  

 I   K I1DI H 1 K I 2 DI H 2 dAI  =0  A



J RI uJ dAI  AI  0   J 1 A I 

I



with V I  V I ,T  2 V I since V I is symmetric.

Annex 5. Analytical Calculation of V  and IH .

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Consider a LFMVC as shown in the figure below where X and Y are the local axes associated with the crack tip.

Figure A5.1. A LFMVC divided into triangles.

We divide it into several triangles. The integration of V  and IH  over the domain thus transforms into the sum of integrations over these triangles. Let us consider the integration over the triangle OAB as an example. For any function F( r ,θ ) we have: B r 

 F dA   0

OAB

F ( r ,  ) r(  ) dr d

A

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

104

L.I. Xiang and Serge Cescotto

in which r(  ) 

C AB with C AB  rA sin  A  rA cos A tg sin   tg cos 

provided sin   tg cos  0

Substituting r sin  B  r A sin  A tg   B rB cos  B  r A cos  A

we get after an elementary development : r(  ) 

Y A X B  YB X A ( X B  X A ) sin   ( Y B  Y A ) cos 

Analytical Integration of V  over a Triangle





Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 

 H 1 D  H 1 dA I   AI V     H  2 D  H 1 dAI   AI

 

 

H 1 D  H  2 dAI    AI    2  2 D H dAI  AI H  AI 



 



 v11

 v21

v12  r(  ) dAI v22 

  

Introducing the values of H 1 , H 2 given by the equations (137) and (138) and using the expression of D,

 1  *  D  1*   * 1 E  0 0 

   *  2( 1   )  0 0

where

with

 E in plane strain state  1 2 *  E  E in plane stress state  

   1  *  v    

in plane strain state

in plane stress state

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

105

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle we get : v11  

cos 2



 

*

v12  v21

v22 



 *   3  ( 1  * ) cos  2 E*



 1  ( 1  * ) cos sin  *

E

9  *  4 ( *  1 ) cos   3( 1  * ) cos 2 4 E*

For simplicity, we define:   1  tg tg 2  C 2  arctan h  C1   C3  ln tg cos  sin  3 2   1  tg  2 E* 1  tg 2  2  

C AB





C4  ( 1  * ) sin  C5 



C AB

E* 1  tg 2



2

  C6  arctan h tg   2

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

With these notations, the analytical solution of the integration over a triangle is:  f11(  B )  f11(  A ) V     f12 (  B )  f12 (  A )

f12 (  B )  f12 (  A )    f 22 (  B )  f 22 (  A )

if sin   tg cos  0





 f11  C1 2C 2 *  3 ) tg 2   2( *  1 ) 





  2( *  1 ) (  tg   C3 )  C 4 tg   ( *  1 ) cos  1  tg 2     f12  C5  2C 2 ( *  1 ) tg 1  tg 2  





  ( 1  tg 2  ) ( *  1 ) cos  tg  ( *  1 )(   C3 tg )  C 4  

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

106

L.I. Xiang and Serge Cescotto

 

f 22  C1 C 2 4( *  3 )  2( *  3 ) tg 2 







  1  tg 2  2( *  1 )(  tg  C3 )  3 C 4 tg  3( 1  * ) cos   

if sin   tg cos  0 C C   f11   AB ( *  1 )   C6 ( *  3 )  4  *  2  E



C f12   AB ( *  1 ) ln (cos  )  ( *  1 ) cos  E*

f 22 



C AB  * 3 C4  (   1 )   C6 ( *  3 )  *  2  E

Analytical Integration of IH  over a Triangle  H 1 dA  I   1 1 1  AI   IH 11 IH 22 IH 12  IH        2 2 2   H  2 dAI   IH 11 IH 22 IH 12     AI 



Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.



  

Introducing the values of H 1 , H 2 given by the equations (137) and (138), we get the following results for the integration over a triangle. For simplicity, we define: k0 

C AB 3( 1  tg 2  )2

k3  ( 1  tg 2  ) cos

k1 

 C AB k 2  ( 5  3 tg 2  ) cos 2 (sin   tg cos  ) 2

3  k 4  2 sin ( 5  tg 2   cos   cos  tg 2  ) 2 2

k5  ( 3  11 tg 2  ) cos

  k 6  2 sin ( 1  3 tg 2   cos   cos  tg 2  ) 2 2

k 7  tg ( 13  5 tg 2  ) cos

 2

if sin   tg cos  0

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

107

1 h11  k0 k1( k 2  k3  k 4 tg ) 1 h22  k0 k1( k5  k3  k6 tg ) 1 h12  k0 k1( k6  k3 tg  k 2 tg ) 2 h11  k0 k1( k7  k 4  k3 tg )

if sin   tg cos  0 1 h11 

1 3 2

1 h22 

1 h12  2 h12 

C AB

1 3 2

4 3 2 1

3 2

C AB  3   sin  sin  cos   2 2

C AB

C AB  3   sin  7 sin  cos   2 2

C AB

C AB   cos  cos   2

C AB

3

C AB  3   5 cos   cos cos   2 2

With these notations, we obtain the analytical solution of the integration.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

1 1 1 IH11  h11 (  B )  h11 ( A ) 1 1 1 IH 22  h22 (  B )  h22 ( A ) 1 1 1 IH12  h12 (  B )  h12 ( A ) 2 2 2 IH11  h11 (  B )  h11 ( A ) 2 1 IH 22  IH12 2 1 IH12  IH11

References [1] Hu H. C., On some variational principles in the theory of elasticity and the theory of plasticity, Sci. Sin., 4, pp. 33-54, 1955, first published in Chinese in Acta Physica Sinica, Vol. X, N° 3, pp 259-290 (1954) [2] Washizu K., On the variational principles of elasticity and plasticity, Aeroelastic and Structures Research Laboratory, Technical report 25-18 (1955), MIT, Cambridge

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

108

L.I. Xiang and Serge Cescotto

[3] Felippa C. A., On the original publication of the general canonical functional of linear Elasticity, Journal of Applied Mechanics, Vol. 67, pp 217-219, (2000) [4] Fraeijs de Veubeke, B. M., Diffusion des inconnues hyperstatiques dans les voilures à longerons couplés, Bull. Serv. Technique de l’Aéronautique N° 24 (1951), Imprimerie Marcel Hayez, Bruxelles, 56 pp. [5] Cueto E, Sukumar N., Calvo B., Cegonino J and Doblare M., Overview and recent advances in natural neighbour Galerkin methods, Archives of Computational Methods in Engineering, Vol. 10, 4, 307-384 (2003) [6] Bowyer A., Computing Dirichlet tessellations, The Computer Journal, 24, 162-166, 1981 [7] Watson D.F., Computing the n-dimensional Delaunay tessellation with application to Voronoi polytopes, The Computer Journal, 24, 167-172 (1981) [8] Yvonnet J., Ryckelynck D., Lorong PH., Chinesta F., A new extension of the natural element method for non convex and discontinuous domains: the constrained natural element method (c-nem), Int. J. Numerical Methods in Engineering, Vol. 60, 1451-1474 (2004) [9] Lorong Ph., Yvonnet J., Coffignal G. and Cohen S., Contribution of computational mechanics in numerical simulation of machining and blanking, Archives of Computational Methods in Engineering, Vol. 13, 1, 45-90 (2006) [10] Belikov V. V., Ivanov V. D., Kontorovich V. K., Korytnik S. A. and Semonov A.Y., The non Sibsonian interpolation: A new method of interpolation of the values of a function on an arbitrary set of points, Computational Mathematics and Mathematical Physics, Vol 37(1), 9-15 (1997) [11] Hiyoshi H. and Sugihara K., Two generations of an interpolant based on Voronoi diagrams, Int. J. of Shape Modelling, Vol 5(2), 219-231 (1999) [12] Sibson R., A vector identity for the Dirichlet tessellation, Mathematical proceedings of the Cambridge Philosophical Society, Vol 87, 151-155 (1980) [13] Belytchko T., Krongauz Y., Organ D., Fleming M. and Krysl P., Meshless methods: an overview and recent developments, Comp. Meth. in Appl. Mechanics and Engineering, Vol. 139, 3-47 (1996) [14] Li K. and Liu W.K., Meshfree and particle methods and their applications, Applied Mechanics Review, Vol. 55(1), 1-34 (2002) [15] Lancaster P. and Salkauskas K., Curve and Surface Fitting: An Introduction, Academic Press, London (1990) [16] Atluri S.N., Kim H. G. and Cho J. Y., A critical assessment of the truly meshless local Petrov-Galerkin and local boundary integral equation methods, Computational Mechanics, Vol. 24, 348-372 (1999) [17] Atluri S.N. and Zhu T., New concepts in meshless methods, Int. J. Numerical Methods in Engineering, Vol. 47, 537-556 (2000) [18] Chen J. S., Wu C. T., Yoon S. and You Y., A stabilized conforming nodal integration for Galerkin meshfree methods, Int. J. Numerical Methods in Engineering, Vol. 50, 435466 (2001) [19] Yoo J., Moran B. and Chen J. S., Nodal natural neighbour methods, Int. J. Numerical Methods in Engineering, Vol. 60, 861-890 (2004)

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

A Natural Neighbour Method Based on Fraeijs de Veubeke Variational Principle

109

[20] Nayroles B., Touzot G. and Villon P., Generalizing the Finite Element Method : Diffuse Approximation and Diffuse Elements, J. of Computational Mechanics, Vol. 10, 307-318 (1992) [21] Belytchko T., LU Y. Y. and Gu L., Element-free Galerkin methods, Int. J. Numerical Methods in Engineering, Vol. 37, 229-256 (1994) [22] Lu Y. Y., Belytchko T., and Gu L., A new implementation of the element-free Galerkin method, Comp. Meth. in Appl. Mechanics and Engineering, Vol. 113, 397-414 (1994) [23] Belytchko T., Gu L. and Lu Y. Y., Fracture and crack growth by element free Galerkin methods, Modelling and Simulation in Material Science and Engineering, Vol. 2, 519534 (1994) [24] Gavette L., Benito J. J., Falcon S. and Ruiz A., Penalty functions in constrained variational principles for element free Galerkin method, European Journal of Mechanics. A/Solids, Vol. 19, 699-720 (2000) [25] Krongauz Y. and Belytchko T., Enforcement of essential boundary conditions in meshless approximations using finite elements, Comp. Meth. in Appl. Mechanics and Engineering, Vol. 131, 133-145 (1996) [26] Kaljevic I. and Saigal S., An improved element-free Galerkin formulation, Int. J. Numerical Methods in Engineering, Vol. 40, 2953-2974 (1997) [27] Yvonnet J., Nouvelles approches sans maillage basées sur la méthode des éléments naturels pour la simulation numérique des procédés de mise en forme, PhD Thesis, Ecole Nationale Supérieure d’Arts et Métiers (2004) [28] Yagawa G. and Matsubara H., Enriched element method and its application to solid mechanics, pp 15-18 in Computational Methods in Engineering & Science, Proc. EPMESC X, Aug. 21-23, 2006, Tsinghua University Press - Springer [29] Westergaard, H.M., Bearing pressures and cracks, Journal of Applied Mechanics, Vol. 6, 49-53 (1939) [30] Wilkinson, JH. The Algebraic Eigenvalue Problem. Clarendon Press, Oxford 1965. [31] Fried, I. Influence of Poisson’s ratio on the condition of the finite element stiffness matrix. Int. J . Solids and Structures 1973; Vol. .10, 323-329. [32] S. Cescotto, R. Charlier, Numerical Simulation of Elasto-Visco-Plastic Large Strains of Metals at High Temperature, Proc. 8th Conf. on SMIRT B 8/10,1985, Vol. B, pp. 333 338. [33] J. C. Simo, R. L. Taylor, Consistent tangent operators for rate-independent elastoplasticity, Comp. Meth. Appl. Mech. Engnr, 48,1985, 101-118. [34] H. Tada, P. C. Paris, and G. R. Irwin. The stress analysis of cracks handbook, 2nd Ed., Paris Productions, Inc., St. Louis, (1985).

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In: Computational Mechanics Research Trends Editor: Hans P. Berger, pp. 111-148

ISBN: 978-1-60876-057-2 © 2010 Nova Science Publishers, Inc.

Chapter 2

NUMERICAL AND THEORETICAL INVESTIGATIONS OF THE TENSILE FAILURE OF SHRUNK CEMENT-BASED COMPOSITES J.X. Liu1,*, Z.Y. Zhao1 and N.G. Liang2 1

School of Civil and Environmental Engineering, Nanyang Technological University, 639798, Singapore 2 State Key Laboratory of Nonlinear Mechanics (LNM), Institute of Mechanics, Chinese Academy of Sciences, 100080, Beijing, China

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Abstract Existing micromechanical models of cement-based composites generally only take into account the material heterogeneity due to inclusion of aggregates. However, before failure experiments are conducted, early-age shrinkage leads to appearance of pre-existing cracks and non-zero stress field, both of which are expected to influence mechanical properties of media. Therefore, tensile fracture analyses of SHRUNK concretes are carried out for a better understanding of their micro-level failure mechanisms. For this purpose, numerical shrunk concrete specimens need to be produced at first. As a solution, a numerical procedure recently proposed is adopted to simulate cracking processes induced by mismatch between the matrix phase and aggregates due to matrix shrinkage. This kind of failure processes is simplified as a purely spontaneous mechanical problem. Critical elements are detected successively by the event-by-event technique. The micro structure of composites is implemented by employing the generalized beam (GB) lattice model. Then, critical equilibrium states during the shrinkage process are chosen as initial states of further tensile experiments. Compared with affects of pre-existing cracks which have been investigated frequently, analysis on influences of shrinkage induced stress on tensile failures is a relatively novel topic. Therefore, the latter is studied in more detail, and a theoretical explanation is provided based on the simple parallel bar model. Tensile tests are conducted on shrunk specimens. Several new failure mechanisms such as residual deformation are found in fracture processes. Influences of the shrinkage rate are also discussed. *

E-mail address: [email protected], Tel: 65-81866126, Fax: 65-67910676.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

112

J.X. Liu, Z.Y. Zhao and N.G. Liang

Keywords: Shrinkage induced cracking fracture, Generalized beam lattice model, Cementbased composites pre-existing stress

1. Introduction

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

1.1. Characteristics of Shrunk Concrete Research interests have been increasingly focused on the relationship between the material heterogeneity and macro-level failure behaviors in cement-based composites. Micromechanical models have generally taken the particle structure of concrete into account directly [16, 26] or statistically [39]. One challenge met by all micromechanical models is to fail to cover all micro-level information in principle. For example, concrete has been simplified by many investigators as three-phase composites: matrix, aggregates and interface between them [38]. Real concretes are much more complex than that and no wonder, but the three-phase hypothesis is still reasonable if the aim is to study influences of coarse aggregates. Of course, more micro-level information are included into micromechanical models, more realistic results can be obtained. Nevertheless, consideration of a more detailed material structure usually leads to a substantial increase of computational effort and sometimes even a multi-physics problem. This study is dedicated to investigate influences of shrinkage behaviors on concrete‘s fracture properties. Many shrinkage-induced micro- or even macro-level cracks can be found in an unloaded and unstrained concrete. Because shrinkage is not completely evitable, most concrete specimens for experimental used in laboratories are actually systems filled with preexisting shrinkage-induced cracks (see for instance [2, 6, 15, 20, 35]). Although these cracks are also micro-level entities as well as aggregates, shrinkage-induced cracks have been rarely considered directly in the existing micromechanical models. Usually, influences of this kind of pre-existing cracks are represented by some ―black-box‖ material properties, such as softening curves of matrix and/or interface zones [14, 16]. Leaving aside the suitability of softening‘s inclusion which still seems to be a critical topic [17, 40], the direct introduction of ―black-box‖ softening curve fails to discover the possible physical-based softening mechanisms which have been taken as ―black-boxes‖ from the very beginning. As a result, an alternative opinion also seems very interesting: to directly include the shrinkage induced cracks into the micromechanical model. However, what we mainly argue here is that shrinkage produces a non-zero PREEXISTING STRESS FIELD meanwhile except cracks in a concrete specimen. Furthermore, this kind of shrinkage induced stress serves as the drive to prompt development of cracks during the shrinkage process. Therefore this kind of pre-existing stress cannot be neglected when compared with the tensile strength of concrete. Most important of all, the pre-existing stress field remains in the shrunk specimen whether shrinkage stops or continues, just like the shrinkage induced cracks. Obviously, it will influence considerably the micro-level fracture behavior of the shrunk specimen when subjected to external loads in the laboratory. In fact, the influence of the pre-existing stress due to shrinkage can be considered to be very similar to, but actually different from the so-called pre-stressed technique, which has been widely used to overcome concrete‘s natural weakness in tension [24, 30]. On one hand, the pre-stressed technique usually means that there are pre-existing interactions between

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Numerical and Theoretical Investigations of the Tensile Failure

113

concrete and tendons such as rebars, while the shrinkage induced stresses happen between paste matrix and aggregates. On the other hand, pre-stressed concretes are designed manually, but the shrunk concrete is produced by inevitable shrinkage behaviors. One of their common characteristics lies that tested specimens are in a non-zero stress state even without any external load. The pre-stressing technique at the macro-scope [24] has changed dramatically concretes‘ mechanical properties, especially the strength. Therefore, it also seems very interesting to investigate influences of shrinkage-induced pre-existing stress at the microscope, which is the main aim of this paper.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

1.2. Algorithm to Produce a Shrunk Specimen To conduct numerical tensile tests on shrunk specimens, a numerical algorithm is necessary to produce shrunk specimens containing both cracks and stress induced by shrinkage. Although there is a need for understanding the formation and propagation of these pre-existing cracks, especially when considering the difficulties of detecting these microcracks in real physics experiments until now [20], advances in this area have been limited greatly by the complex of the problem. Furthermore, detection of shrinkage induced stress fields seems a much bigger challenge than cracks for experimentalists. On one hand, the complexity lies that factors causing shrinkage deformation include temperature, moisture transport and so on, leading to a multi-physics problem even coupling chemical reactions [10]. On the other hand, shrinkage processes are nearly stochastic due to irregular characteristics of environmental changes and mankind activities. Furthermore, the time scale for drying of cement-based composites is at least ~month [5, 15], leading to a substantial increase in computational effort. As a result, a direct simulation becomes extremely timeconsuming and complicated. Nevertheless, the problem may become simple and solvable from a different viewpoint. From the above analyses, the shrinkage-inducing factors complicate the investigated problem very much. Nevertheless, cracks are related directly to mismatch deformation due to shrinkage. Therefore, when shrinkage induced cracks and stresses are concerned instead of thermal and moist processes, it seems reasonable that shrinkage-induced cracking can be simulated by introducing directly matrix shrinkage into the paste-aggregate system, without account of the shrinkage-inducing factors. In a word, the shrinkage-induced cracking is simplified into the cracking driven by mismatch deformation between matrix and aggregates. Mismatch deformation seems not to be a classical mechanical problem in some sense. In classical mechanical analyses, medium‘s response can be solved if external loads are applied. When mismatch deformation happens, however, it is hard to say how much the external load is. Therefore, the simplified shrinkage induced cracking can be regarded as a spontaneous process without external mechanical loads. This feather makes difficult the direct use of the finite element method (FEM), based on the idea of classical mechanical analysis, i.e. ―load→medium→response‖ procedure. A new algorithm has been recently proposed by Liu et al. [28] to simulate the mismatch deformation problem. In this algorithm, the basic idea is to decompose the problem into two classical mechanical ones, which can be easily solved by the classical FEM procedure.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

114

J.X. Liu, Z.Y. Zhao and N.G. Liang

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

1.3. Lattice-Type Modeling of Concrete In the present study, the microstructure model of concrete is described by the GB lattice model, a kind of lattice-type model [25, 26, 27, 28]. In this paper, in order to obtain more detailed crack growth, numerical simulations are all conducted based on the GB lattice model used in [27] where every big aggregate is simulated by dozens of nodes, which is very similar to the classical beam lattices. Lattice models work best if the material may be represented naturally by a system of discrete units interacting through truss, beams or other kinds of two-node elements. Spatial trusses and frameworks have been the primary material systems thus modeled. Currently, there is mounting interest in the potential offered by materials with internal lattice-construction for use in high-performance load-bearing applications. A typical aim is to develop lightweight structures that are adequately stiff and strong. Deshpande et al. [7] indicated the attracting effective properties of the octet-truss lattice material. McKown et al. [29] studied the failure behaviors of lattice structures when subjected to quasi-static and blast loading. From a different viewpoint, lattice models can also be used to simulate continuous media, as an alternative of the classical finite element method. These models are based on the atomic lattice models of materials in principle [9, 31, 32]. This kind of models has been successfully used for solving classical problems of elasticity [12] and simulating the progressive failure in heterogeneous brittle media[1, 11]. To investigate fracture processes in concrete, many different types of lattice models have been developed in the past. It is generally considered to be necessary to project the material structure directly on to the lattice in order to obtain more realistic results [16]. Schorn and Rode [37] and Bazant et al. [1] used truss elements to construct lattices. The virtual internal bond (VIB) model proposed by Gao and Klein [9] also seems similar to the trusstype lattice from the viewpoint of numerical simulation. Schlangen and van Mier [36] adopted Euler-Bernoulli beams of Hughes et al. [13]. Bolander and Saito [4] developed a kind of spring element, which is equivalent to the Euler-Bernoulli beam element in a special parameter setting. Generally, the Timoshenko beam is more proper than the Euler-Bernoulli beam as each beam in the lattice is short and deep [16, 17]. Truss network corresponds to the classical continuum, while beam lattice corresponds to the micropolar continuum. Lattice models can also be used into hybrid methods. For example, Bolander et al. [3] combined the beam lattice and the boundary element method to simulate concrete‘s fracture processing. The two-dimensional GB lattice model is employed in this paper. Firstly, although the 3D model is a more realistic approximation of materials because the micro structure in concrete is 3D in nature, the calibration of elemental parameters remains a crucial difficulty even though the difficulty in computational effort can be overcome with the rapid development of computer hardware. Most important of all, 2D model is adopted here in order to clarify the following controversial issue. 2D lattice models have been criticized mainly because of the problem of brittleness shown by obtained force-displacement diagrams [4, 14, 17, 22, 40]. The simplification of real 3D material microstructure into 2D is considered to be one main source of the problem by many researchers. However, the force-displacement diagram of 3D lattice still seems much more brittle than real experimental responses [22, 23]. Many other researchers introduce softening behaviors into 2D models and succeed obtaining more satisfactory results [3, 14, 16]. Nevertheless, the rationality of introducing softening behaviors at the micro level is very controversial [17, 40]. Another explanation says that the problem of the brittleness may be a

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Numerical and Theoretical Investigations of the Tensile Failure

115

result of the assumption common in damage mechanics that there is no residual deformation on unloading, i.e. the so-called secant modulus assumption [14]. Of course, introduction of softening behavior or residual deformation is just a matter of numerical programming and seems not very hard to be implemented, with the rapid development of numerical methods. However, the real question focuses on a lack of the reasonable physics-based background of softening and residual deformation. In this paper, it is shown that the pre-existing stress field due to shrinkage can change the concrete‘s force-displacement response dramatically. Furthermore, it seems to be one reasonable physical mechanism causing softening and residual deformation, as per the theoretical analysis provided in the following context based on the parallel bar model [18]. Finally, it is notable that the analyzing procedure developed in this paper can be easily extended into 3D modeling.

1.4. Paper Structure The paper is structured as follows. The basic theory of the GB lattice model is recalled in Section 2. In Section 3, the method to simulate mismatch deformation is introduced. In Section 4, the global numerical procedure is given, before the Mohr-Coulumn criterion and event-by-event algorithm are recalled. Section 5 provides a theoretical analysis about the influence of pre-existing stress due to mismatch deformation on the load-displacement response. In Section 6, several shrunk specimens are produced at first, and then tensile tests are conducted on them. Detailed analyses are carried out on the numerical results. The paper ends with conclusions in Section 7.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2. GB Lattice Model In this model [25, 26, 27, 28], a kind of two-node and three-phase elements has been developed. Every element is composed of three beams, which can be aggregate-phase, matrix-phase or interface-phase independently (Figure 1). As a result, an aggregate can be simulated in principle by a single node in the GB lattice, instead of 10~100 nodes in other beam lattices. Therefore the computational effort is reduced greatly. In the three-fragment GB element, every fragment is regarded as a beam. These beams can be taken as Euler-Bernoulli beams, Timoshenko beams or beams proposed by Bolander and Saito [4]. No matter which beam theory is adopted, the beam stiffness matrices have the following common expression (Figure 2):

 Q1   M11 N    1   M 1      Q2    N2       M 2  

0

M 34

M11

0

M 22

0

0

M 22

M 33

M 34

0

M11

0

SYM

M 22 M

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

M 34   u1  0   v1  M 36  1    M 34   u2  0   v2    M 33  2 

(1)

116

J.X. Liu, Z.Y. Zhao and N.G. Liang

where, F12 = Q1 N1 M 1 Q2 N 2 M 2  and u12 = u1 v1 1 u 2 v2 2  T

T

are the generalized

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

force vector and the generalized displacement vector, respectively.

Figure 1. A GB lattice: a projection of particle structure onto the lattice; b sketch-map of composition of an aggregate-interface-matrix element.

Figure 2. Kinematics and statics of a beam.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Numerical and Theoretical Investigations of the Tensile Failure

117

For the Euler-Bernoulli beam [16]:

12 E (b ) I 6 E (b ) I E (b ) A 4 E (b ) I 2 E (b ) I M11  , M 34  , M 22  , M 33  , M 36  h3 h2 h h h

(2)

For the Timoshenko beam [41]:

M11 

12 E ( b ) I 6 E (b ) I E (b ) A M  M  , , , 34 22 (1  b)h3 (1  b)h 2 h

M 33 

E I (4  b) E I (2  b) , M 36  h(1  b) h(1  b)

(3) (b )

(b )

where, E (b) is the Young‘s Modulus; t (b ) , h and l are respectively the thickness, the span and the height of the Timoshenko beam; A  t (b )l is the cross-section area; I  t (b )l 3 12 is the moment of inertia; b  aE(b) l 2 G (b) h 2 is the dimensionless parameter in Timoshenko beam theory; G(b)  E (b) 2(1  (b) ) is the modulus of rigidity, where  (b ) is the Poisson‘s ratio. For the beam studied in [4]:

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

M11 

G (b ) A G (b ) A E (b ) ' A M 22  M 34  h , h , 2 , (4)

M 33 

(b )

(b )

(b )

(b )

G Ah E ' I G Ah E ' I  M 36   4 h , 4 h

where, E (b) '  E (b) [1  ( (b) )2 ] . The relationship between the lattice and its continuum equivalent is obtained based on the equivalence of strain energy stored in a unit cell of a lattice with its continuum counterpart. The calibration results for a triangular GB lattice are listed as follows. For the Euler-Bernoulli beam: 2

E (b )

2

l l 12    4  1 E l t h , v  h    (b ) 2 2 3h t l l 4  12    h h

Note that the Poisson‘s ratio for Euler-Bernoulli beams is always zero.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(5)

118

J.X. Liu, Z.Y. Zhao and N.G. Liang For the Timoshenko beam: 1

E (b ) 

2

2 l t E 5(1  ) 20  l  12 ,  (b )        (b ) 11(1  3 ) 11  h  11 3  h  t 1 

(6)

For the beam studied in [4]:

E (b )  E ,  ( b )  

(7)

The stiffness matrix of a GB element is expressed as functions of material and geometry parameters of its three beams. Take the element shown in Figure 3 as an example, let R be the matrix relating the displacement vector

uij  ui

vi

i

uj

vj

 j  and u IJ  uI T

vI

I

uJ

vJ

uIJ  Ruij

J  : T

(8)

Then the stiffness matrix of the GB element K can be expressed in the form

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

 K 

Ma I  Ma II RI SYM

  (M II ) RIII  M III  MaII RII

m

T

m

(9)

where, the superscript of M declares the material property; In other words, Mm , Ma and

Mi are respectively the stiffness matrix of matrix, aggregate and interface beams. Ma I , Ma II and MaIII denote the top-left, top-right and bottom-right 3 3 sub-matrix of Ma respectively, and the same notation rule is also used to M i and Mm . R I , R II and R III respectively denote the top-left, top-right, bottom-right 3 3 sub-matrix of R . It can be proved that the matrix K generally has the following distribution of non-zero elements:

 K11 0 K 34 K11  K 22 0 0   K 33 K 34 K K11   SYM  

0 K 22 0 0 K 22

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

K 46  0  K 36   K 46  0   K 66 

(10)

Numerical and Theoretical Investigations of the Tensile Failure

119

It can be found that K in Eq. (10) has more independent elements than M in Eq. (1). For the sake of convenience, the following matrix K N is defined as

0 0 0 0 0  K 22 0 0 K 22   0 0 0 KN   0 0   SYM K 22  

0 0  0  0 0  0

(11)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 3. A GB element composed of an aggregate beam, an interface beam and a matrix beam: a the GB element; b the aggregate beam; c the interface beam; d the matrix beam.

Figure 4. Continued on next page.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

120

J.X. Liu, Z.Y. Zhao and N.G. Liang

Figure 4. Sketch map of shrinkage induced mismatch: a initial state before shrinkage; b size change of matrix lattice due to its shrinkage.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

As discussed in the introduction, shrinkage induced cracking is dominantly responsible for the occurrence of the weakest interfacial phase. Therefore, it is more reasonable to assign the cement-based composites before shrinkage a much higher interface strength than the value used by van Mier et al. [39] and Liu et al. [27], and we don‘t distinguish interface from matrix any more when introducing the method to simulate mismatch deformation in Section 3. Furthermore, any multi-phase element shown as Figure 3 is excluded in order to simplify the programming task. As a result, the lattice used in the current investigation is shown as Figure 4a instead of Figure 1a. Obviously, the classical beam-lattice used in [16, 39] is an alternative equivalent to the GB lattice in that case.

3. Method to Simulate Mismatch Deformation Due to Matrix Uniform Shrinkage Several simplifications and assumptions are firstly made and then a new method is proposed here to obtain the mismatch displacement field. In principle, drying of cement-based composites is multiphysics and even coupled with chemical reactions. The characteristic time is usually ~month. Therefore, a direct simulation seems to be a very hard task. However, different physical phenomena such as moisture transport and temperature change always play their influences in shrinkage induced cracking by increasing the mismatch degree between deformations of matrix and aggregates. In other words, cracking is induced directly by mismatch deformation instead of moisture and temperature. As a result, when the main research interest is shrinkage-induced spontaneous cracking, it seems acceptable to take the shrinkage induced cracking as a pure mechanical problem, i.e. progressive cracking driven by development of mismatch deformation. To further simplify the analysis, the following approximations are adopted: 1. Small mismatch deformation. The change of the element size due to shrinkage is infinitely small when compared with the size before shrinkage.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Numerical and Theoretical Investigations of the Tensile Failure

121

2. Constant material properties. In principle, mechanical properties of matrix-phase change with shrinkage, which is neglected in the current study. 3. Uniform shrinkage is assumed in the matrix, while no shrinkage happens in aggregates.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Under assumption ①, the element stiffness matrix can be calculated based on the initial non-shrinkage configuration throughout the shrinkage process. Therefore, with the help of assumption ②, the stiffness matrix keeps unchanged unless the element fails. At last, the problem becomes a pure linear elastic one. Then a numerical algorithm is introduced to solve it. Without loss of generality, we take the specimen shown in Figure 4 as an example. An aggregate is embedded in the matrix. Before shrinkage, both the aggregatephase element and the matrix-phase element has the common length L , therefore there is no interaction between the aggregate and matrix (Figure 4a). After shrinkage, as shown in Figure 4b, the length of the matrix-phase element becomes (1   )L (0<  0 ∀V , the regularized functional is continuous in the whole space of nodal coordinates. The dependence of h(V ) with the parameter δ is such that  V if V ≥ 0 lim h(V ) = 0 if V < 0 δ→0 q∗ =

Therefore, when the parameter δ tends to zero, the modified functional tends to the original one (for V ≥ 0), and also, the modified optimal solution tends to the original one. Particularly, in the region of valid meshes, as δ → 0, the function F ∗ (x) converges pointwise to F (x). Besides, by considering that ∀V > 0, lim h′ (V ) = 1

δ→0

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(62)

390

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

and lim h(r) (V ) = 0,

δ→0

for r ≥ 2

(63)

it is easy to show that the derivatives of the modified functional verify the same property of convergence. The purpose is to find a solution close enough to the optimal solution of the original functional, assuming that a valid mesh exists for the given topology and boundary position. Thus, it should be defined a decreasing sequence {δ k } such that δ k → 0 as k → ∞. Then, a simultaneous mesh untangling and smoothing strategy is obtained. This strategy could be used as a CMD technique with the property of no conditioning the time step in FSI problems. 3.3.2.

Solution Strategy

According to numerical examples, the lower the parameter δ, the slower the convergence rate of the optimization algorithm, without guarantee of final convergence. Moreover, if δ is not small enough the ‘optimal’ mesh finally obtained may be invalid, being even worse for high relative domain deformations. Therefore, two main problems arise • finding the decreasing sequence {δ k } to ensure the final convergence to a valid mesh, if exists.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

• finding a suitable initial value for the sequence (δ 0 ). To determine an equation that allows the decreasing of δ, this parameter is assumed as a new global variable only for theoretical purposes, i.e., considering F ∗ = F ∗ (x, δ). If the problem is posed in terms of the variables (x, δ) and using a Newton-like solver, the problem is written as follows     2 ∗ ∂2F ∗ " ∂F ∗ ∂ F #    ∂x2 ∂x∂δ  ∆x = −  ∂x∗    2 ∗ ∂F ∂2F ∗ ∂ F ∆δ ∂δ ∂δ∂x ∂δ 2 Writing the last equation in the following way ∂2F ∗ ∆x + ∂x2 ∂2F ∗ ∆x + ∂δ∂x

∂2F ∗ ∂F ∗ ∆δ = − ∂x∂δ ∂x ∂2F ∗ ∂F ∗ ∆δ = − ∂δ 2 ∂δ

(64)

it is observed that this system may be solved in an uncoupled way if the parameter δ is kept fixed for the first equation (∆δ = 0). This is equivalent to solve the system (64) using the block Gauss-Seidel method. Thus, the variable increments ∆x and ∆δ are obtained  2 ∗ −1 ∂ F ∂F ∗ ∆x = − ∂x2 ∂x   ∗ 2 ∂ F∗ ∂F (65) + ∆x ∂δ ∂δ∂x ∆δ = − ∂2F ∗ ∂δ 2

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

391

The expression for ∆δ in (65) is adopted as the maximum value to reduce δ. Therefore, the updated δ in the iteration k is defined in the following way ˜ k−1 ) δ k = max(δ k−1 − α ˜ |∆δ k−1 |, βδ

(66)

where α ˜ and β˜ are constants lower than one. In addition, it was found that the off-diagonal terms in the element-wise matrix have a strong influence on the convergence of this optimization method. In the untangling stage, it is advisable to relax these off-diagonal terms to make the matrix more diagonal-dominant. However, in the smoothing stage these terms should be restored to take advantage of the convergence rate of full Newton schemes. Here, the relaxation parameter for these offdiagonal terms (˜ γ ≤ 1) may be constant or a function of the iterations. For example, for a 2D case the element-wise matrix is modified as  2 ∗     2 ∗ ∂ F ∂ F γ˜ 2  ∂x1 ∂x2 e  ∂x1 e      Ke =  2 ∗   ∂ F ∂2F ∗ γ˜ 2 ∂x2 ∂x1 e ∂x2 e

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

The problem is solved by the Newton-Raphson method with Armijo inexact line search [45]. At each iteration δ is diminished only if the line search strategy gives a unit step as result. If the mesh is initially invalid, the initial value δ 0 is chosen according to the following criterion based on the minimum volume (Vmin = mine Ve ). Due to the fact that h(V ) is a strictly increasing function, then   q 1 2 2 Vmin + Vmin + 4δ hmin = h(Vmin ) = (67) 2 Defining h∗min = hmin /δ as an user-defined parameter and getting δ from the last equation, the following criterion to initialize δ arises  ∗  hmin Vmin + ǫ if V ≤ ǫ δ δ 0 δ = h∗ 2 − 1  min 0 if V > ǫδ where ǫδ > 0 is the minimum value given to the initial value of δ such that δ 0 > 0 when Vmin = 0. 3.3.3.

Results

In this section, the numerical results for some test examples are presented. These examples are CMD problems in 2D and 3D with different deformations of the boundary. In the whole set of test cases, the following convergence criteria had been applied • Valid mesh. • For the iteration k, tolerance.

k−1 k |qmin − qmin | < ǫq , being qmin = mine qe and ǫq > 0 a prefixed k qmin

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

392

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

The relaxation coefficient for the Hessian matrix was chosen as γ˜ = 0.5 for the untangling stage, and γ˜ = 1 for the smoothing stage. In the whole set of numerical examples, the following set of parameter values were used: Cv = 0, Cq = 1, n = −1, α ˜ = 1, β˜ = 0.1, ǫq = 0.01, h∗min = 0.75 and ǫδ = 1 × 10−6 . In these tests, the reference element used was the regular element. Step 2D This test was defined in section §3.2.4. for a relative domain deformation of 50 %, 90 % and 99 %, and here is repeated using the simultaneous untangling and smoothing strategy. The total mesh deformation is carried out in one time step in order to show the robustness of the proposed algorithm. For each case, the initial tangled mesh and the resulting valid grid are presented in figures 15 to 17. In addition, the evolution of the mesh quality with iterations is included in figure 18.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 15. Mesh deformation of 50 % for step 2D test, initial (left) and final (right) meshes.

Figure 16. Mesh deformation of 90 % for step 2D test, initial (left) and final (right) meshes. Figure 19 shows the comparison between the smoothing (S) and the simultaneous untangling and smoothing (U-S) strategies. It is observed that the elapsed time in the computation with the U-S technique is approximately independent of the deformation. It does

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

393

Figure 17. Mesh deformation of 99 % for step 2D test, initial (left) and final (right) meshes. 1 50 % def. 90 % def. 99 % def.

q mesh

0.5

0

−0.5

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

−1

0

2

4

6

8 10 iteration number

12

14

16

18

Figure 18. Mesh quality as a function of iterations for step 2D test. depend on the number of time steps used, and tends towards the elapsed time of the S method as the number of time steps are increased. In order to verify the utility of the differential predictor (DP) explained in section §3.2.2., the test was solved for a relative domain deformation of 90 % varying the amount of time steps used. In table 1 the total number of iterations in each case (with and without DP) is presented. As it is observed, the use of the DP makes it possible to decrease in a noticeable way the number of iterations (and therefore the cost), mainly when the time step used diminishes. Step 3D As presented in section §3.2.4., this test is the 3D extension of the step 2D test. The test was solved for 50 %, 80 % and 87 % of relative domain deformation, and using one time step for each case. Figures 20 to 22 show the initial and final meshes obtained. Figure 23 shows the mesh quality as a function of iterations. For 87 % of mesh defor-

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

394

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al. 60 S − 200 time steps elapsed comp. time [sec]

50

U−S − 1 time step U−S − 2 time steps U−S − 4 time steps

40

U−S − 10 time steps 30

20

10

0

0

10

20

30

40 50 60 mesh deformation [%]

70

80

90

100

Figure 19. Computational time in terms of the relative domain deformation for step 2D test. Table 1. Total number of iterations to reach a relative domain deformation of 90 % for step 2D test

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

number of time steps used 1 2 4 8

iterations with DP 15 19 34 39

iterations without DP 13 27 47 69

Figure 20. Mesh deformation of 50 % for step 3D test, initial (left) and final (right) meshes. mation, the number of iterations is high since the boundary position is close to the limit in which a valid mesh exists for the conditions of the test. A comparison of computational cost

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

395

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 21. Mesh deformation of 80 % for step 3D test, initial (left) and final (right) meshes.

Figure 22. Mesh deformation of 87 % for step 3D test, initial (left) and final (right) meshes. with mesh deformation between S and U-S strategies was done, and the results achieved are shown in figure 24. Again, as in the previous test, the advantage of applying the DP can be observed in table 2. In this case, the problem was solved for a relative domain deformation of 70 % varying the size of the time step. Axisymmetrical flowmeter Finally, the methodology is applied to IC engine simulations. One of the most important device to measure the mass flow rate of different cylinder heads is the flowmeter bench. This example consists in solving the mesh dynamics of an axisymmetrical flowmeter, whose geometry is shown in figure 25. The head of the valve moves as a rigid solid and its stem stretches and shortens depending on the displacement of the valve. The other boundary that stretches and shortens is the axis of symmetry. Initially, the valve lift is 5 mm, and the valve is moved with a linear law in the x2 -direction until reaching the minimum valve lift of 0.5 mm. The mesh has 12K triangular elements and 6.4K nodes, with h ≃ 0.2 mm in the region

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

396

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al. 1 50 % def. 80 % def. 87 % def.

q mesh

0.5

0

−0.5

−1

0

5

10 iteration number

15

20

Figure 23. Mesh quality as a function of iterations for step 3D test. 140 S − 45 time steps

elapsed comp. time [sec]

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

120

U−S − 1 time step U−S − 2 time steps

100

U−S − 4 time steps U−S − 10 time steps

80 60 40 20 0

0

10

20

30 40 50 60 mesh deformation [%]

70

80

90

Figure 24. Computational time in terms of the relative domain deformation for step 3D test.

between the valve and its seat. Nodes lying on the vertical walls of the cylinder and those lying on the valve stem are left to slide in the x2 -direction, while the remaining boundary nodes have their displacements prescribed. In figure 26(a) it is shown a close-up of the mesh utilized. Figure 26(b) presents the mesh from which the CMD strategy starts, and where invalid elements were filled in green. The final valid mesh is shown in figure 26(c). In this case, the total domain deformation was applied in one time step. In table 3 it is summarized the elapsed computational time for obtain a valid mesh for the minimum valve lift varying the number of time steps. The problem was solved with and without the differential predictor for comparison purposes. The coefficients used for the

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

397

Table 2. Total number of iterations to reach a relative domain deformation of 70 % for step 3D test number of time steps used 1 2 4 8

iterations with DP 8 9 13 20

iterations without DP 7 12 24 48

U-S technique were chosen in order to minimize the total number of iterations when one time step is utilized. As it is observed in the table, when the differential predictor is applied the elapsed computational time remains approximately unchanged. Table 3. Total elapsed computational time for the axisymmetrical flowmeter test

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

number of time steps 1 2 5 10

elapsed time without DP 39.486 s. 113.897 s. 121.616 s. 204.734 s.

elapsed time with DP 77.721 s. 79.217 s. 82.272 s. 78.549 s.

Diesel engine with three valves The last case presented is the mesh dynamics for the 3D geometry of a diesel engine. The engine has three valves and bowl-in piston. The purpose is to solve the movement of a unique mesh along the whole cycle in order to show how the CMD strategy works with a real IC engine geometry. Hence, the valve closure is approximated with a small enough minimum valve lift greater than zero. Some views of the chamber geometry are included in figure 27. The cylinder bore is 93.0 mm, the stroke is 103.0 mm, and the geometric compression ratio is 17.8:1. The maximum intake valve lift is 9.0 mm and the maximum exhaust valve lift is 11.0 mm. The valve timing values are the following • Intake Valves Opening (IVO): 5◦ • Intake Valves Closing (IVC): 212◦ • Exhaust Valve Opening (EVO): 485◦ • Exhaust Valve Closing (EVC): 715◦ The (topology of the) mesh was generated with the valves placed at a half of the maximum lift from their seats and the crown piston at a half of the stroke from the head. The mesh is coarse in the cylinder, but refined in the region of valves, ducts and piston bowl. The mesh has 925700 tetrahedrons and 157630 nodes. The mesh dynamics was solved with the

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

398

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al. x2

moving valve

h

rv

H R

O

x1

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 25. Axisymmetrical flowmeter.

(a) Initial position

(b) 100 % def. - Initial mesh

(c) 100 % def. - Final mesh

Figure 26. Mesh zoom for the axisymmetrical flowmeter.

simultaneous mesh untangling and smoothing technique and using the differential predictor presented in section §3.2.2.. The time step used corresponds to 1 crank angle degree. Due to the initial mesh was generated with a configuration of the boundary that not corresponds to any instant in the cycle, firstly the valves and piston are moved to the reference crank angle. In this case, such angle was adopted as the TDC when the intake stroke starts. The mesh quality as a function of the crank angle is plotted in figure 28, where the element quality metric applied was q (see equation (43)). Figure 29 shows the minimum mesh dihedral angle as a function of the crank angle. As could be observed, the mesh quality is approximately constant along the whole cycle. In order to compare, the initial

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

399

Figure 27. Geometry of the combustion chamber of a diesel engine. mesh has a quality q = 0.0211 and a minimum dihedral angle of 1.4812◦ . IVO

BDC IVC

TDC

EVO BDC

EVC

qmesh

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

0.1

0.01

0.001

0

100

200

300 400 crank angle [deg]

500

600

700

Figure 28. Mesh quality as a function of crank angle for the diesel engine. Figures 30 to 32 show the distribution of the element quality in the domain for three crank angles. These angles correspond to the TDC with the three valves closed (0◦ ), the

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

400

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al. IVO

BDC IVC

TDC

EVO BDC

EVC

minimum dihedral angle [deg]

1

0.8

0.6

0.4

0.2

0

0

100

200

300 400 crank angle [deg]

500

600

700

Figure 29. Minimum mesh dihedral angle as a function of crank angle for the diesel engine.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

maximum intake valve lift (108.5◦ ), and maximum exhaust valve lift (600◦ ). The elements with worse quality in the mesh are located between a valve and its seat when the valve approaches the closed position.

Figure 30. Mesh quality field at 0 crank angle degree (TDC) for the diesel engine.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

401

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 31. Mesh quality field at 108.5 crank angle degree (maximum intake valve lift) for the diesel engine.

4.

Resolution of Compressible Flows in the Low Mach Number Limit

Low Mach number (M ) flows represent a limit situation in the solution of compressible flows. When the Mach number approaches to zero, the strategies based on density to solve the flow equations suffer severe deficiencies, both in efficiency and accuracy. Turkel et al. [64] and Guillard and Viozat [24] have identified that, in the low Mach number limit, the discretized solution of the compressible fluid flow equations may fail to provide an accurate approximation to the incompressible equations. In the subsonic regime, when the magnitude of the flow velocity is small in comparison with the acoustic wave speed, dominance of convective terms within the time-dependent equation system renders the system stiff and the solvers could converge slowly [11]. Time-marching procedures may suffer severe stability and accuracy restrictions and become inefficient for low Mach number flow regimes. Here, for explicit schemes, the time step must satisfy the Courant-Friedrichs-Levy (CFL) conditions, where numerical stability considerations lead to small time steps. On the other hand, implicit methods suffer from stiffness due to large disparity in the eigenvalues of the system. The condition number of the system of equations is O(1/M ) in the low Mach number limit [11]. There are two main approaches to circumvent this drawback: firstly, the modification of compressible solvers (density-based) downward to low Mach

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

402

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 32. Mesh quality field at 600 crank angle degree (maximum exhaust valve lift) for the diesel engine. numbers [11, 65, 66, 35, 68]; secondly, extending incompressible solvers (pressure-based) towards this regime [26]. Also there are unified formulations, as the method proposed by Mittal and Tezduyar [38]. The in-cylinder flow in an IC engine is characterized by low Mach numbers, except in the exhaust blowdown phase [25]. Thus, this application limits the strategies for low Mach number flows to whose, under an unified formulation, work correctly for (at least) all subsonic Mach numbers. For density-based methods, two distinct techniques have been proposed to capture solution convergence for low-Mach number regimes: preconditioning and asymptotic methods. Both techniques achieve rescaling of the system condition number. The asymptotic method introduces a perturbed form of the equations discarding specific terms, so that the physical acoustic waves are replaced by pseudo-acoustic modes. The magnitude of the propagation speeds of this pseudo-acoustic modes is similar to the fluid velocity [11]. Although perturbation procedures are highly robust and applicable for both viscous and inviscid flows, the nature of the perturbation limits their usage, particularly with respect to mixed compressible-incompressible flows. Preconditioning schemes consist in premultiplying time derivatives by a suitable preconditioning matrix. This scales the eigenvalues of the system to similar orders of magnitude and removes the disparity in wave-speeds, leading to a well-conditioned system [64].

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

In Search of Improvements for the Computational Simulation...

403

The modified equations have only steady-state solutions in common with the original system (hence, are devoid of true transients). For the application of these methods to unsteady problems, the ‘dual-time-stepping’ technique has emerged, where the physical time derivative terms are treated as source and/or reactive terms. During each physical time step, the system of pseudo-temporal equations is advanced in artificial time to reach a pseudosteady-state [65, 66, 35]. Several local preconditioning matrices have been designed for steady state problems, with very good results [11, 41]. However, recent works have shown that these preconditioners may not be appropriate for unsteady flows [66]. In IC engines applications, one procedure widely used is a semi-implicit method named acoustic subcycling [25]. In this method, all terms in the governing equations that are not associated with sound waves are explicitly advanced with a larger time step ∆t similar to the used with implicit methods. The terms associated with acoustic waves (the compression terms in the continuity and energy equations and the pressure gradient in the momentum equation) are explicitly advanced using a smaller time step δt that satisfies the CFL stability criterion, and of which the main time step is an integral multiple. While this method works well in many internal combustion engines applications where the Mach number is not too low, it is unsuitable for very low Mach number flows since the number of subcycles (∆t/δt) tends to infinity as the Mach number tends to zero. Pressure gradient scaling can be used to extend the method to lower Mach numbers [25]. The Mach number is artificially increased to a larger value (but still small in an absolute sense) by multiplying the pressure gradient in the momentum equation by a time-dependent scaling factor 1/α2 (t), where α(t) > 1. This reduces the effective sound speed by the factor α. Coupling pressure gradient scaling with acoustic subcycling reduces the number of subcycles by α [4]. We propose to use the method of preconditioning due to its ability to work in an wide range of Mach and Reynolds numbers [43]. The preconditioning matrix applied is the proposed by Choi and Merkle [11] to solve steady compressible flows and which has been adapted by Nigro et al. [40, 41] to the finite element method. Via an eigenvalue analysis of the system of equations, some parameters involved in this matrix are redefined in order to solve transient problems.

4.1.

Problem Definition and Eigenvalues Analysis

The eigenvalue analysis of the Navier-Stokes equations for compressible flows is done by using viscous variables, defined as Q = [p, u, T ]T

(68)

In the low Mach number limit, it is convenient to do the analysis using the viscous variables instead the conservative ones because, at a fixed time, the density tends to be constant in the space domain. The preconditioning of equations consists in premultiply the time derivatives by a properly defined matrix. The purpose is to modify the eigenvalues of the system of equations in order to decrease the condition number. Due to this fact, it is only applicable to steady state simulations. In order to apply the preconditioning strategy in unsteady problems, the dual time technique has emerged [34]. In this technique, two times must be considered: the physical time (t) and the pseudo-time (τ ). The solution is obtained by means of preconditioned

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

404

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

fully implicit pseudo-transient iterations adding a pseudo-time derivative to equation (11). At each physical time step, the system is solved until a pseudo-steady state is reached when τ → ∞. If Γ denotes the preconditioning matrix, the system of equations modified by the dual time strategy is written as [65]   ∂U ∂U ∂U ∂U ∂ Kij +S (69) Γ + + Ai = ∂τ ∂t ∂xi ∂xi ∂xj ∂U When the system approaches to the pseudo-steady state, the term tends to zero. Thus, ∂τ the solution of equation (69) at fixed time t tends to the corresponding solution of equation (11). In the viscous variables basis, equation (69) is expressed as   ∂U ∂Q ∂U ∂Q ∂U ∂Q ∂U ∂Q ∂ Kij +S (70) Γ + + Ai = ∂Q ∂τ ∂Q ∂t ∂Q ∂xi ∂xi ∂Q ∂xj Let Γv = Γ

∂U ∂Q

(71)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

the preconditioning matrix in the viscous variables basis. Hence, after premultiplying equation (70) by the inverse matrix Γ−1 v , the following expression is obtained   ∂U ∂Q ∂Q ∂U ∂Q −1 ∂U ∂Q −1 −1 ∂ + Γv + Γv Ai = Γv Kij + Γ−1 (72) v S ∂τ ∂Q ∂t ∂Q ∂xi ∂xi ∂Q ∂xj The analysis is done by using the preconditioning matrix proposed by Choi and Merkle [11] for the resolution of steady state problems at the low Mach limit. The preconditioning matrix takes the form   1 0 0 0 0   βMr2   u1   ρ 0 0 0   βMr2   u2    0 ρ 0 0  (73) Γv =  2  βM r   u 3  0 0 ρ 0    2 βM   r  ρe + p γρR  − δ ρu ρu ρu 1 2 3 ρβMr2 γ−1 where Mr is a reference Mach number, δ is a constant that plays the role of a coefficient of the time derivative of pressure, and β = zc2 , being z = max(zinv , zvis ), zinv = Mr2 αvis (αvis − 1) αvis − 1 + c2 /(u · s)2 CF L = σReh

zvis = αvis

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

405

In the last equation, σ is the Fourier number, Reh is the cell Reynolds number based on the characteristic element length h, and s is the unit vector aligned with the flow velocity. The reference Mach number Mr replaces the Mach number because the term 1/M 2 in the preconditioning matrix becomes singular in regions where the Mach number tends to zero (e.g., stagnation points). In the next subsection a discussion about the election of Mr is presented (see equation (86) for the definition given by Choi and Merkle [11]). The preconditioned equations are nearly identical to the equations obtained when the method of artificial compressibility is applied, with the addition of the energy conservation equation [11]. Considering null the source vector, the individual equations are 1 ∂p + ∇ · (ρu) = 0 βMr2 ∂t   ∂u ρ + u · ∇u + ∇p = ∇ · T ∂t   ∂p ∂T + u · ∇T = δ + u · ∇p + ∇ · (κ∇T ) + ∇ · (Tu) ρcp ∂t ∂t

(74)

In order to study the eigenvalues of the system of equations, a dispersion analysis on the equation (72) is done. Let ˜ v, i = Γ−1 Ai ∂U A v ∂Q ˜ v, ij = Γ−1 Kij ∂U K v ∂Q −1 ˜ Sv = Γv S

(75)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

The discretization of physical time derivative is done using backward differences ct Qn+1 − E(Qn , Qn−1 , . . .) ∂Q ≈ ∂t ∆t

(76)

where ct is a constant that depends on the temporal order of the scheme. Then, the system of equations (72) can be written as   ∂Q ∂ ∂Q ct −1 ∂U ∂Q ˜ ˜ ˜ v + 1 Γ−1 ∂U E(Qn , Qn−1 , . . .) + Γv Q+Av, i = Kv, ij +S ∂τ ∆t ∂Q ∂xi ∂xi ∂xj ∆t v ∂Q (77) In order to simplify the notation, the index n + 1 for the variables evaluated at the current time is dropped from equation (77). If the source term is assumed to have no effect on the dispersion equation and neglecting the diffusive terms (Euler equations), the following equation is reached ∂Q ct −1 ∂U ˜ v, i ∂Q = 0 + Γ Q+A ∂τ ∆t v ∂Q ∂xi

(78)

By introducing a Fourier mode   Q = Q0 exp i(kT x − ωτ ) Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(79)

406

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

into the equation (78), the following equation of dispersion for ω is obtained   ct −1 ∂U ˜ −iωI + Γ + iki Av, i Q = 0 ∆t v ∂Q

(80)

Due to the finite number of mesh nodes, the wavelengths are limited by the grid spacing. To take this filtering into account, it could set kkk = φ/h, where h is a measure of the grid spacing, and φ ∈ [0, π]. Let λ = ω/kkk the wave speed and uk = uT k/kkk. Writing equation (80) as a system of equations GQ = 0, and looking for solutions for Q 6= 0 achieves G as ct ∂U ki ˜ G = −i Γ−1 + Av, i − λI (81) v kkk∆t ∂Q kkk after dividing by ikkk. The equation GQ = 0 have a non-trivial solution if det G = 0. This condition is equivalent to compute the eigenvalues of the matrix ˆ = −i G Let the CFL numbers

ct ∂U ki ˜ Γ−1 + Av, i v kkk∆t ∂Q kkk

(82)

uk ∆t h c∆t CF Lc = h

(83)

ˆ 1,2,3 = uk (1 − ict CF L−1 ) λ(G) u uk ˆ λ(G)4,5 = (1 − ict CF L−1 u )T± 2

(84)

CF Lu =

ˆ are Then, the eigenvalues of G

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

where T± = (1 +

Mr2 χ)

s ±

(1 −

Mr2 χ)2



4Mr2



 1 +1−χ 2 (iM + ct CF L−1 c )

(85)

In equation (85), χ = γ − (γ − 1)δ and the definition of Mr allows to choose among different preconditioning matrices. The eigenvalues of the preconditioned system using the preconditioning matrix designed for steady state solutions can be obtained by means of the definition of Mr proposed by Choi and Merkle [11]    Mǫ if M < Mǫ M if Mǫ ≤ M < 1 Mr = (86)   1 if M ≥ 1 or, equivalently, Mr = min(1, max(M, Mǫ )), where Mǫ is a cut-off of the Mach number in a neighborhood of stagnation points. When the ALE strategy is applied (see section §2.1.3.), the eigenvalues for the preconditioned system of Euler equations using the dual-time formulation are written as ˆ ALE )1,2,3 = uk (1 − ict CF L−1 ) − wk λ(G u 1 ˆ ALE )4,5 = [uk (1 − ict CF L−1 ) − wk ]T ALE λ(G u ± 2

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(87)

In Search of Improvements for the Computational Simulation...

407

being T±ALE

= (1 +

Mr2 χ)

±

s

(1 − Mr2 χ)2 − 4Mr2



 1 + 1 − χ , 2 ˜ + ct CF L−1 (iM c )

(88)

˜ = (uk − wk )/c, and wk = wT k/kkk. M For viscous flows, it is not longer easy to compute the eigenvalues of the system. Therefore, many authors use approximations that depend on the Reynolds number. In the following subsection, a numerical analysis of the viscous flow case is presented. 4.1.1.

Preconditioning Strategies

The condition number of the system is defined as CN =

max(|λi |) max(1, |T+ |, |T− |) = min(|λi |) min(1, |T+ |, |T− |)

(89)

Figure 33 shows the condition number of the system of Euler equations as a function of Courant number CF Lc , where ct = 1, δ = 1 (χ = 1), Mǫ = 1 × 10−6 and M = 1 × 10−3 . The preconditioning matrix for steady state solutions (SP, Steady Preconditioner) corresponds to the definition of Mr given by equation (86). For unsteady problems, Vigneron et al. [66] suggest q Mr = min(1, max(

M 2 + CF L−2 c , Mǫ ))

(90)

This definition is named UP (Unsteady Preconditioner) on figure 33. In addition, the condition number of the non-preconditioned system (NP) is included, which is obtained when Mr = χ−1/2 in equation (85). UP SP NP

100000 condition number

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

1e+06

10000 1000 100 10 1 0.1 0.1

1

10

100

1000

10000

CFLc

Figure 33. Condition number as a function of Courant number CF Lc with M = 1 × 10−3 and Mǫ = 1 × 10−6 for the inviscid case. As it is shown in the figure, when the ‘unsteady’ preconditioning is applied the condition number of the system is O(1) for all CF Lc numbers in the inviscid case. For viscous

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

408

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

flows, the eigenvalues of the system were computed numerically adopting z = zinv for the definition of β in equation (73). Figure 34 shows the condition number of the system for several Reynolds numbers using the inviscid reference Mach number (Mr |inv ) defined in equation (90). For Reynolds numbers lower than 1 the condition number of the system increase significantly, specially for high CF Lc numbers. Merkle [37] proposed to use the 100000

condition number

10000

inviscid Re = 1 Re = 0.1 Re = 0.01

1000

100

10

1 0.1

1

10

100

1000

10000

CFLc

Figure 34. Condition number as a function of Courant number CF Lc for several Reynolds numbers with the reference Mach number for the inviscid case and M = 1 × 10−3 .

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

following approximation Mr =

(

Mr |inv

if

Re > 1

M/Re

if

Re < 1

(91)

In figure 35 the condition number of the system as a function of Reynolds number for CF Lc = 1 × 104 , 1 × 102 is plotted. Two pairs of curves are shown in the figure, one of them corresponds to the reference Mach number for inviscid flows and the other one was obtained by using the approximation (91). The approximation could not be good enough for low CF Lc numbers, as it is shown in figure 35. We propose to use no correction for the viscous flow case since the original definition of the preconditioning matrix includes some control of the time step in the viscous regions via the β parameter.

4.2. 4.2.1.

Numerical Implementation Variational Formulation

In order to simplify the notation, the mesh velocity is considered null since when the ALE technique is used, only the advective jacobians are modified in the system of equations (see equation (25)). The variational formulation of the problem is written as follows: Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

409

1e+07 CFLc = 1e4

condition number

1e+06

CFLc = 1e2

100000 10000 Mr inviscid 1000 100 10 Mr corrected 1 0.001 0.01

0.1 Re

1

10

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 35. Condition number as a function of Reynolds number with CF Lc = 1×104 , 1× 102 and M = 1 × 10−3 . Find Uh ∈ S h such that ∀ Wh ∈ V h   Z Z h h ∂Uh ∂Wh ∂Uh h h ∂U h ∂U W · Γ + + Ai · Khij dΩ dΩ + ∂τ ∂t ∂xi ∂xj Ω Ω ∂xi     nel Z h h h h X ∂Uh ∂ ′ h T ∂W h ∂U h ∂U h ∂U + τ (Ak ) + + Ai − · Γ Kij − S dΩe ∂x ∂τ ∂t ∂x ∂x ∂x e i i j k e=1 Ω Z Z nel Z h ∂Uh X ′ ∂W · dΩe = Wh · SdΩ + Wh · f d∂Ω + δsc ∂x ∂x h e i i Ω Γ e=1 Ω (92) ′ indicate where spaces S h and V h are defined by equation (27). The primes in τ ′ and δsc that a redefinition of these stabilization parameters must be done due to the preconditioning. The derivative with respect to τ is discretized using the backward Euler difference scheme ∂U Un+1,m+1 − Un+1,m ≈ (93) ∂τ ∆τ Notice the indexes used to indicate each time level: n + 1 is the current physical time step and m + 1 is the current pseudo-time step. In addition, an implicit formulation is proposed in both, t and τ . The definition of the matrix of intrinsic time scale (τ ′ ) is very important in order to stabilize the numerical scheme correctly. For this formulation, it is proposed to apply the SUPG strategy, i.e. to stabilize the numerical scheme considering the advective part of the system only. From equation (72) and using the definitions given in (75), the system of Navier-Stokes equations expressed in the viscous variables basis is written as ∂Q ∂U ∂Q ˜ v, i ∂Q = ∂ + Γ−1 +A v ∂τ ∂Q ∂t ∂xi ∂xi

  ˜v ˜ v, ij ∂Q + S K ∂xj

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(94)

410

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al. The numerical diffusivity introduced by the SUPG method in the inviscid case is [28] ˜ num = A ˜ v τ˜v A ˜v K v

(95)

where τ˜v is the matrix of intrinsic time scale in the viscous variables basis. In the conservative variables basis this matrix is expressed as τ′ =

∂U ∂Q −1 ∂U τ˜v Γ = τ˜v Γ−1 v ∂Q ∂U ∂Q

(96)

There are several approaches to compute the matrix τ˜v . One of them is the definition given by Hughes and Mallet [28] adapted to the preconditioned system ˜ v k−1 τ˜v = kB

(97)

˜ v, j ˜ v = ∂ξi A B ∂xj

(98)

being

the preconditioned advective jacobians transformed to the master element, in which ξi represents the master element coordinates. Another option is the proposed by Le Beau et al. [32]. For the preconditioned system, this proposal is expressed as h τ˜v = (99) ˜ v )| 2 max |λ(A In this chapter, the definition given by equation (99) is used to stabilize the numerical scheme plus a correction due to viscous effects (see, for instance, the work by Mittal and ˜ v are Tezduyar [38]). The eigenvalues of the advective jacobian matrix A

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

˜ v )1,2,3 = u λ(A (100) u(1 + βMr2 χ/c2 ± c˜) 2     2 βMr2 χ u2 2 where c˜2 = u2 1 + + 4βM . 1 − r c2 c2 Considering the non preconditioned system, for the wave with propagation speed λ(A)j the numerical diffusion introduced by the stabilization strategy given by equation (99) is proportional to hλ2 (A)j 2 maxi |λ(A)i | Thus, at the low Mach number limit, there are sub-stabilized modes due to the disparity in the wavespeeds. This sub-stabilization could leads to spurious numerical oscillations in the solution. Regarding for the shock capturing operator, it is used a modification of the ‘standard’ definition given by (31). The characteristic velocity is computed as uchar = kuk + c˜, and the operator is affected by a coefficient (˜ a)  β ∗ hJGN k∇ρh khJGN ′ δsc = a ˜ (kuk + c˜) (101) 2 ρref ˜ v )4,5 = λ(A

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation... 4.2.2.

411

Dynamic Boundary Conditions

As with the stabilization in the finite element method, the dynamic boundary conditions must be reformulated for the preconditioned system of equations. The idea here is to follow the proposal by Storti et al. [54] but applied to the equation (77) expressed in viscous variable basis. In multidimensional problems a simplified 1D analysis in the normal direction to the boundary is done by considering the projection of the advective jacobians onto this direction, as follows ˜ v, n = A ˜ v, i ni A (102) where ni are the components of the unit vector normal to the local boundary. After diagonalization of the projected jacobian ˜ v, n = M ˜ v, n Λ ˜ v, n M ˜ −1 A v, n

(103)

˜ v, n = diag[λ(A ˜ v, n )], the projection matrices onto the right/left-going characteriswith Λ tics modes in the diagonal basis are obtained by ( ˜ v, n ) < 0  1 if i = j and λi (A − ΠV n ij = 0 otherwise (104) + Π− V n + ΠV n = I

The projection matrices in the viscous variables basis are computed changing the basis ± ˜ −1 ˜ Π± Qn = Mv, n ΠV n Mv, n

(105)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Finally, coming back to the U basis, the projection matrices expressed in this basis are Π± Un =

∂U ± ∂Q Π ∂Q Qn ∂U

(106)

As explained in section §2.2.3., the dynamic boundary conditions are applied using Lagrange multipliers. Therefore, for a node i on the boundary, the system of equations to be solved is + ˆ ˆ ˆ Π− U n (U)(Ui − U) + ΠU n (U)Ulm = 0 (107) ˆ lm = 0 Ri (U) + ΓΠ− (U)U Un

ˆ is adopted according to the direction of normal flow respect to boundary, as in The state U section §2.2.3..

4.3.

Results

The preconditioning strategy presented in this section to solve compressible flows at the low Mach number limit was applied to several problems in order to test the potentiality of the technique. Among the solved problems, there are steady and unsteady incompressible flows with moving domains. The purpose of these problems was to compare the preconditioned-system solution and the solution obtained by using a standard incompressible Navier-Stokes code. Furthermore, a test inherently compressible, which is the

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

412

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

simulation of the in-cylinder flow in an opposed-piston IC engine under cold conditions, was solved. The pseudo-time step is increased during the pseudo-transient following the rule ∆τ m+1 = ∆τ 0

kRn,0 k kRn,m k

(108)

where Rn,m is the global residue and ∆τ 0 is an initial pseudo-time step defined by the user. 4.3.1.

Flow in a Lid Driven Cavity

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

This test has served as a benchmark for the Navier-Stokes equations for incompressible flow for decades. The problem consists in a fluid into a square cavity whose top wall moves with a uniform velocity. Two Reynolds numbers cases 100 and 1000 are considered and a 60×60 quadrangles mesh is employed. A uniform grid is used for Re = 100, and a stretched grid is used for Re = 1000, with a ratio of 1:10 between elements near the wall and elements in the central region of the domain. The Mach number of the moving lid is 4.5×10−4 . Wall boundary conditions are no slip and constant temperature. Initially, the fluid is at rest and its pressure and temperature are constants. The test was solved with the preconditioning strategy presented in this section and also with a standard incompressible Navier-Stokes (NSI) code. The incompressible Navier-Stokes equations were solved using a stabilized finite element SUPG-PSPG [10] [60] (Pressure-Stabilizing/Petrov-Galerkin) method. Figures 36 to 38 show the density, the velocity module and the pressure perturbation, respectively. The pressure perturbation is computed as p − p¯, with p¯ = 1 × 105 Pa. Notice that the solution obtained is smooth and with no numerical oscillations.

(a) Re = 100 - UP

(b) Re = 1000 - UP

Figure 36. Density field ([kg/m3 ]) for flow in a lid driven cavity. In order to verify the accuracy of the presented method, the velocity profiles at vertical and horizontal centerlines of the cavity (x1 = 0.5 and x2 = 0.5, respectively) are compared with a numerical solution of incompressible Navier-Stokes equations by Ghia et al. [23]. The u1 velocity is compared at vertical centerline of the cavity, and the u2 velocity is compared at horizontal centerline of the cavity. Figures 39 and 40 show the results, where good agreement can be observed.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

(a) Re = 100 - UP

(b) Re = 1000 - UP

413

(c) Re = 1000 - NSI

Figure 37. Velocity module field ([m/s]) for flow in a lid driven cavity.

(a) Re = 100 - UP

(b) Re = 1000 - UP

(c) Re = 1000 - NSI

Figure 38. Pressure perturbation field ([Pa]) for flow in a lid driven cavity. 1

0.8

0.6 Re = 1000

x2

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Re = 100

0.4 UP 0.2

N−S incompressible ref. sol. Ghia et al. (1982)

0 −0.4

−0.2

0

0.2

0.4 u 1 velocity

0.6

0.8

1

1.2

Figure 39. Comparison of u1 velocity component at vertical centerline of the cavity with numerical solution by Ghia et al. [23].

4.3.2.

Flow in a Channel with a Moving Indentation

This test case consists in a flow through a 2D channel with a moving indentation, which has been studied experimentally by Pedley and Stephanoff [46], and numerically by Ralph and Pedley [48] and by Demird˘zi´c and Peri´c [15]. Figure 41 shows a scheme of the channel Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

414

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al. 0.4 0.3 0.2

u 2 velocity

0.1

Re = 100

0 −0.1 −0.2 −0.3 −0.4

UP N−S incompressible

−0.5

ref. sol. Ghia et al. (1982)

−0.6

0

0.2

0.4

Re = 1000

0.6

0.8

1

x1

Figure 40. Comparison of u2 velocity component at horizontal centerline of the cavity with numerical solution by Ghia et al. [23].

geometry. The shape of the indentation was taken from Pedley and Stephanoff [46], whose specified the following analytic function which approximately fit the real shape used in the experiment  for 0 < x1 < c1  H 0.5H{1 − tanh [a(x1 − c2 )]} for c1 < x1 < c3 x2 (x1 ) =  0 for x1 > c3 where a = 4.14, c1 = 4b, c3 = 6.5b, c2 = 0.5(c1 + c3 ), and

being t∗ =

(109)

t − t0 . Υ x2

b

c1 c2 c3

H

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

H = 0.5Hmax [1 − cos(2πt∗ )]

l1

x1

l2

Figure 41. Geometry of the channel (not to scale): b = 1 cm, l1 = 9.85 cm, l2 = 18.0 cm. Here b is the channel height, Υ is the oscillation period and Hmax = 0.38b specifies the maximum blockage of the channel cross-section at t∗ = 0.5. The geometry is symmetric around x1 = 0. The Strouhal number based on the channel height, bulk velocity U = 2/3u1, max and the oscillation period, St =

b , UΥ

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(110)

In Search of Improvements for the Computational Simulation...

415

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

is 0.037. The Reynolds number based on the same reference quantities is 507. At the initial time t = t0 the flow is assumed to be fully developed (Poiseuille flow). The maximum velocity is u1, max = 1.5 m/s. The velocity profile at the inlet cross-section is taken to remain constant throughout the cycle. Also a unit density is imposed at the inlet crosssection. At the other channel end, dynamic boundary conditions with the ULSAR strategy were imposed, as presented in section §4.2.2.. Walls are assumed isothermic and no slip boundary condition is imposed on them. Mesh dynamics was solved applying the method described in section §3.. The mesh used has 12.4K triangular elements and 6.8K nodes. The (physical) time step adopted in the simulation was ∆t = Υ/200. Figures 42, 43 and 44 show the density field, the velocity module, and the pressure perturbation (with p¯ = 1 × 105 Pa) at times t∗ = 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 and 1. These results were obtained by using the preconditioning strategy presented above.

Figure 42. Density field ([kg/m3 ]) for the flow in a channel with a moving indentation computed by using the UP strategy. From top to bottom, times t∗ = 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 and 1. Table 4 compares the solution obtained by means of the UP strategy and two solutions of the Navier-Stokes equations for incompressible flow, one obtained using the PETSC-FEM code and the other extracted from the bibliography. The comparison is done taking the maximum velocity differences and the time in which appear the three first vortexes. Figure 45 shows the positions of the first three eddies center as a function of time. In

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

416

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 43. Velocity module field ([m/s]) for the flow in a channel with a moving indentation computed by using the UP strategy. From top to bottom, times t∗ = 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 and 1. Table 4. Comparison of results obtained by using the UP strategy and two solutions of the incompressible Navier-Stokes equations for the channel with a moving indentation test Max. vel. [m/s] 1st vortex 2nd vortex 3rd vortex

UP 2.916 at t∗ = 0.37 t∗ = 0.22 t∗ = 0.345 t∗ = 0.425

Ref. [36] 2.931 at t∗ = 0.38 t∗ = 0.23 t∗ = 0.35 t∗ = 0.42

Ref. [15] 2.645 at t∗ = 0.4 t∗ = 0.2-0.25 t∗ = 0.35-0.4 t∗ = 0.45

that figure, the experimental data reported by Pedley and Stephanoff [46], and the numerical solutions of the UP technique and the Navier-Stokes equations for incompressible flow [36] are included. According to Pedley and Stephanoff [46], the abscissa is defined as x∗1 =

(x1 − c1 )(10St)1/3 b

(111)

Also, this test was solved using the non-preconditioned system of equations, with the Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

417

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 44. Pressure perturbation field ([Pa]) for the flow in a channel with a moving indentation computed by using the UP strategy. From top to bottom, times t∗ = 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 and 1. same conditions as presented above. In figures 46, 47 and 48 the density field, the velocity magnitude field and the pressure perturbation field are shown at t∗ = 0.2, 0.4, 0.6, 0.8 and 1 respectively. The non-preconditioned solution does not represent the behavior of the flow since it does not produce the different vortexes experimentally observed. The pressure field has numerical oscillations, which can not be observed in figure 48 due to the scale used. Thus, the pressure perturbation field at t∗ = 0.5 is shown in figure 49 with an appropriate color scale. 4.3.3.

Opposed-Piston Engine

The case consists in the resolution of the fluid flow inside the cylinder of an opposedpiston engine under cold conditions, i.e. without combustion. This test was selected in order to apply the preconditioning strategy to an inherently compressible case similar to what it is found in real engine geometries and also due to its simplicity. The engine geometry was taken from the KIVA-3 [3] tutorial. The cylinder bore is 100 mm, the stroke of each piston is 85 mm, and the geometric compression ratio is 9.5:1. The cylinder has 8 exhaust ports equally distributed in the circumferential direction and 12 intake ports uniformly separated

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

418

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al. 1

0.8

t*

0.6

0.4

UP 0.2

0

NSI Experiment 0

1

2

3

4

5

6

7

x*1

Figure 45. Comparison of predicted and experimentally observed positions of first three vortexes center. also. Assuming the reference angle as the EDC (External Dead Center), the timing of the ports are the following • Intake Port Opening (IPO) = 295.13◦ • Intake Port Closing (IPC) = 64.87◦

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

• Exhaust Port Opening (EPO) = 280.2◦ • Exhaust Port Closing (EPC) = 79.8◦ In order to simplify the problem, the flow domain is reduced to a two-dimensional one by means of the intersection between the 3D cylinder and a plane containing the axis of the cylinder. This plane must be oriented in such a way to ‘cut’ two intake and exhaust ports simultaneously. The resultant geometry is shown in figure 50 for pistons located at EDC. The mesh was generated with the pistons at EDC (ports totally opened) and has 76K triangular elements (structured) and 38K nodes. The mean element size is h = 0.5 mm. Due to the simplicity of the geometry and the boundary movement, the mesh dynamics is solved by using an algebraic law following a linear distribution with respect to the position of pistons at IDC (Internal Dead Center). No-slip condition is imposed at solid walls. In addition, solid walls are assumed insulated. Mixed absorbing/wall boundary conditions are used to model the ports, as explained in section §2.2.3.. For absorbing boundary conditions, the reference state used for intake ports is Uiref = [1.2195 kg/m3 , 0 m/s, 0 m/s, 105 kPa]T , and for the exhaust ports is Ueref = [0.662 kg/m3 , 0 m/s, 0 m/s, 95 kPa]T . The engine speed is 3000 rpm. The time step used in the simulation corresponds to 0.5 crank angle degree (CAD) and, for the conditions of the flow in the test, a CF Lu O(1). The stationary cyclic state is reached with approximately four cycles. The following results correspond to the last cycle simulated.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

419

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 46. Density field ([kg/m3 ]) for the flow in a channel with a moving indentation computed by using the NP strategy. From top to bottom, times t∗ = 0.2, 0.4, 0.6, 0.8 and 1.

Figure 47. Velocity module field ([m/s]) for the flow in a channel with a moving indentation computed by using the NP strategy. From top to bottom, times t∗ = 0.2, 0.4, 0.6, 0.8 and 1. For some instants in the cycle, the density and pressure fields into the chamber are depicted in the following figures. The purpose is to show that the unsteady preconditioning strategy presented in this chapter produces smooth solutions (without numerical oscillations) when it is applied to computations of in-cylinder flows problems. Figures 51 and 52 show the distribution of density and pressure into the cylinder at EDC and IDC, respectively. In figure 53 these fields are plotted at an intermediate position of the pistons, corresponding to 270 CAD. In figures 54 and 55, the mean density and pressure in the cylinder during a whole cycle are presented, respectively. This brief overview of the results obtained is completed with

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

420

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

Figure 48. Pressure perturbation field ([Pa]) for the flow in a channel with a moving indentation computed by using the NP strategy. From top to bottom, times t∗ = 0.2, 0.4, 0.6, 0.8 and 1.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 49. Pressure perturbation field ([Pa]) for the flow in a channel with a moving indentation computed by using the NP strategy at t∗ = 0.5, where the scale was modified. some pictures of the magnitude of flow velocity at several instants in the cycle. Figure 56 shows these results.

5.

Coupling of 1D/multi-D Domains for Compressible Flows

Generally, when CFD-3D models are used to simulate the fluid flow in IC engines, due to computational resources availability reasons only a few components of the engine are studied at each time step. Usually, the boundary conditions for these 3D models are dynamic and, hence, are not easy to impose. A typical approach is to use 0D/1D codes as boundary condition generators for the 3D problem. When dimensionally heterogeneous models are applied to solve a given problem, the need to perform the coupling between sub-domain arises. For IC engine simulation, the coupling between multi-D and 1D domains is the most useful. Thus, a method focused on such coupling type is presented in this section. The Domain Decomposition theory provides the framework to develop a coupling domain algorithm. Several research work was done in this sense, specially considering elliptic operators and the advection-diffusion-reaction equation [9, 47, 20, 12, 63, 21, 2]. Given

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation... e

U ref

i

U ref

1111111111111 0000000000000 0000000000000 1111111111111 exhaust ports

421

e

U ref

0 1 1010 0 1 0 1 1010 0 1 0 1 1010 0 1 0 1 100 0 1 110 0 1 0 1 100 0 1 110 0 1 0 1 1010 0 1 0 1 100 0 1 110 0 1 0 1 100 0 1 1 i intake ports 0000000000000 U ref 1111111111111 0000000000000 1111111111111

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 50. Geometry of the simplified 2D model for the opposed-piston engine case (pistons at EDC).

Figure 51. Density ([kg/m3 ], left) and pressure ([Pa], right) fields at EDC (0◦ ).

a boundary value problem defined on a domain Ω, a partition of that domain in ns subComputational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

422

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 52. Density ([kg/m3 ], left) and pressure ([Pa], right) fields at IDC (180◦ ).

Figure 53. Density ([kg/m3 ], left) and pressure ([Pa], right) fields at 270◦ . domains (Ωi , i = 1, . . . , ns ) is built. These sub-domains could be disjoint or overlapping. The original boundary value problem is reformulated in a split form on the sub-domains, and the sub-domain solutions satisfy suitable matching conditions at sub-domain interfaces. These boundary conditions are named transmission conditions [47], and could involve appropriate combinations of the following types

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation... IPC EPC

IDC

423

EPO IPO

9 8

density [kg/m 3]

7 6 5 4 3 2 1

0

50

100

150 200 crank angle [deg]

250

300

350

Figure 54. Cylinder mean density through a cycle of the opposed-piston engine. IPC EPC

IDC

EPO IPO

2000

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

pressure [kPa]

1500

1000

500

0

0

50

100

150 200 crank angle [deg]

250

300

350

Figure 55. Cylinder mean pressure through a cycle of the opposed-piston engine. • Dirichlet type: condition on the unknown of the problem. • Neumann type: condition on the first derivative of the unknown. • Robin type: linear combination of Dirichlet and Neumann conditions. For second order differential equations problems, some combination of the above cited boundary conditions could fail to give the original solution on the corresponding sub-domain [27]. In particular, Dirichlet/Dirichlet (D/D) coupling as well as the Neumann/Neumann (N/N) coupling are not possible. For advection-dominated advection-

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

424

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

(a) 0 CAD

(b) 90 CAD

(c) 180 CAD

(d) 300 CAD

Figure 56. Magnitude of flow velocity field ([m/s]) at several instants during a cycle. diffusion equations it is important that the boundary conditions accounts for the flow direction. Some techniques, such adaptive strategies, introduce iterative methods splitting the above interface conditions in a way which is adapted to the local flow direction [12, 63]. Other methods, such as the proposed by Alonso et al. [2], do not care about the local direction of the advective field, but only need that the boundary value problems defined on the sub-domains are associated for a suitable coercive bilinear form. As mentioned above, the purpose is to link dimensionally heterogeneous models for

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

425

numerical simulation of IC engines. Thus, the focus is placed on the governing equations of compressible fluid flows, namely, the Navier-Stokes and Euler equations. For these equations, the different boundary condition types are interpreted here as follows • Dirichlet: condition on the vector state (U) or the advective flux (Fa ). This is true due to Fa is a function of the vector state only, and not of their derivatives. Moreover, in the case of a perfect gas the advective flux is a homogeneous function of degree 1 of the conservative variable vector [7, 53], this is Fa (λU) = λFa (U)

for any λ ∈ R

and taking derivatives with respect to λ and setting λ = 1, it is obtained the relation [26] ∂Fa Fa (U) = U = AU ∂U • Neumann: condition on the diffusive flux (Fd ), due to it contains first order derivatives (see equation (10)).

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

• Robin: some linear combination of the other two types, for instance, a condition on the total flux (F = Fa + Fd ). For viscous flows, the system of equations contains second order derivatives and, hence, conditions on state and its first derivatives are necessary to impose on the coupling boundary [26]. In addition, it is considering a non-overlapping sub-domain coupling method. It will begin discussing a 1D domain case divided in two intervals. Let Ω a bounded, open interval of R discretized by a grid with N elements and N + 1 nodes numbered from 1 to N + 1. After standard discretization, for instance with the SUPG stabilized Finite Element Method, a system of equations of the following form is obtained E1 (U1 , U2 ) = 0 E2 (U1 , U2 , U3 ) = 0 .. .

(112)

EN +1 (UN , UN +1 ) = 0 It has been assumed that the equation at node i involves only the nodal states at nodes i−1, i and i+1, as is true for first order Finite Difference Method and FEM discretization methods. Also a steady system of equations is assumed. The system (112) represents (N + 1) × ndof equations in the (N + 1) × ndof unknowns {U1 , U2 , . . . , UN +1 }. It is assumed that this non-linear system of equations has a unique solution. Equations at the boundary nodes may include some mixture of Dirichlet or Robin and Neumann boundary conditions. This system of equations is split up at a certain internal node i, so that the domain Ω = [x1, 1 , x1, N +1 ] is split in the sub-domains Ω1 = [x1, 1 , x1, i ] and Ω2 = [x1, i , x1, N +1 ] (see figure 57). Now, node i splits in i1 and i2 for the left and right sub-domains, respectively. Appropriate boundary conditions at i1 (i2) for Ω1 (Ω2 ) must be provided. These conditions must ensure that each sub-domain problem can be solved independently, and

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

426

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

that the problem is well posed. An iterative approach to solve the problem must guarantee that the solutions at each boundary converge to the solution of the coupled system, i.e., Uki1 , Uki2 → Ui Ukj → Uj

(113)

∀j, j 6= i

for k → ∞, k being the iteration number. In addition, it is assumed that the equation at node i can be separated in its right and left contributions Ei (Ui−1 , Ui , Ui+1 ) = Ei1 (Ui−1 , Ui ) + Ei2 (Ui , Ui+1 ) = 0

(114)

P x 1,i x 1,1

x 1,N+1 x 1,i1

x 1,i2

x 1,1

x 1,N+1 P1

P2

Figure 57. Sketch of 1D domain splitting.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

5.1.

Coupling for Implicit Schemes ‘Monolithically’ Solved

If an implicit scheme for time integration is used and assuming that the resolution could be performed as a ‘monolithic’ system, the coupling strategy reduces to a constraint between the states at interface nodes. This strategy could be useful when the codes that perform the computation on each sub-domain are not ‘black boxes’, but the contributions to the global residue (and perhaps the global jacobian matrix) are available. For the problem (112), if the equality of states at the coupling node is imposed, then it results in a linear constraint. With the notation of previous section, the system of equations is expressed as E1 (U1 , U2 ) = 0 E2 (U1 , U2 , U3 ) = 0 .. . Ei1 (Ui−1 , Ui1 ) = 0 Ui1 = Ui2 Ei2 (Ui2 , Ui+1 ) = 0 .. . EN +1 (UN , UN +1 ) = 0

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(115)

In Search of Improvements for the Computational Simulation...

427

where the constraint Ui1 = Ui2 imposes the continuity of the solution and forces the continuity of fluxes through the coupling interface. By elimination and using (114), it is easy to see that the problem (115) reduces to (112). 5.1.1.

Coupling of 1D/multi-D Domains

If the purpose is to link a multi-D domain with a 1D domain, the constraints are not straightforward as in the 1D/1D coupling. In this case, the conditions at the coupling interface for the multi-D domain are defective [18, 33] and a simplification must be done at the coupling interface. One possibility is to impose each node at coupling surface of multi-D domain to have the same state as the corresponding node in the 1D domain. Let M the number of nodes lying on the coupling interface of the multi-D domain, and let j the node identifying the end of the 1D domain. Then, the M ndof constraints are Uj = Ui

i = 1, . . . , M

(116)

This kind of coupling could be useful with an uniform (‘piston’-like) flow through the multiD domain boundary, limiting the shape of variables profile in the coupling interface. For instance, this limitation do not allow to apply a non-slip boundary condition at walls, even whether the flow is parallel to the wall. Another option is to equalize the mean value of the state on the whole coupling surface and the corresponding state in the 1D domain, i.e. Z Z UM D dS = U1D dS = U1D S (117)

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

S

S

where S is the coupling surface. The constraint (117) could cause the code failure since the problem is not restricted enough, without guarantee of a unique solution. For example, it is possible to obtain a profile of density with non physical negative values on the coupling surface and whose mean value is a feasible value.

5.2.

Results

Several tests cases were solved using the linear constraints presented above. The following sections show some results from 1D/1D, 2D/1D and 3D/1D couplings. In the whole set of test cases, the ‘standard’ Navier-Stokes equations for compressible flow are solved, i.e. the equations (8) with the variational formulation given by (26). 5.2.1.

1D/1D Coupling

In this particular case, strategies (116) and (117) are equivalent. Using two or more subdomains, the solution obtained is equal to the solution computed from an unique domain. 5.2.2.

2D/1D Coupling

The 2D/1D coupling test proposed consists of a reservoir connected to the atmosphere by a pipe with length L = 7 m. The pressure and the temperature of the gas inside the Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

428

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

reservoir are constant, with values of p0 = 1.2 × 105 Pa and T0 = 278.75 K, respectively. The atmospheric pressure is pa = 1 × 105 Pa. Initially, the gas inside the pipe is at rest, and at the same pressure and density as the gas in the reservoir. At t = 0, the pipe end connected to the atmosphere is suddenly open. The pipe is modeled using three sub-domains, 1D at the pipe ends and 2D in its middle region as shown in figure 58 (1D-2D-1D). Also, in order to compare the solutions, the problem is solved using three 1D domains (1D-1D-1D). The duct is adiabatic and without friction, and the fluid is inviscid.

p

1D

1D

0

2D

p a

T0

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 58. Gas discharge from a reservoir to the atmosphere. The 2D domain is discretized by using an unstructured mesh containing 592 triangular elements. For 1D domains uniform meshes are used, with element size h = 0.05 m. The time step in the simulations is ∆t = 1 × 10−4 s, which gives a CFL number O(1). The left coupling section is located at x1 = 2 m, and the right coupling section at x1 = 5 m. Solving the problem with the constraints given by equation (116) for the density, the pressure and the mean axial velocity, the test is successful and the whole time interval can be solved. Figures 59(a) to 59(c) show the results achieved at coupling sections. As expected, there are no differences between the cases 1D-2D-1D and 1D-1D-1D. 5.2.3.

3D/1D Coupling

This case consists of the exhaust manifold of a six-cylinder spark-ignition four-stroke engine1 . The purpose is to solve a junction of the manifold with a CFD-3D code and to solve the rest of the engine with 0D/1D models. The exhaust manifold is composed by three junctions, as it is shown in figure 60. Two of these junctions connect three header pipes with one of the two intermediate pipes (junctions 3-to-1). These pipes converge to the third junction that connects them with the exhaust tailpipe (junction 2-to-1). The diameters and lengths of the pipes in the manifold are the following • Header pipes: D = 51.7 mm, L = 570 mm. • Intermediate pipes: D = 61 mm, L = 650 mm. 1

We want to thank to Juan Pablo Alianak for provide me the computational 3D geometric model of the six-cylinder exhaust manifold. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation... 300

1.5 left section

1.48

250 axial velocity [m/s]

density [kg/m 3]

1.46 1.44 1.42 1.4 right section 1.38 1.36

200

150

100

1D−2D−1D 1D−2D−1D 1D−1D−1D

1.34 1.32 1.3

429

0

0.02

0.04

0.06

0.08

0.1 t [sec]

0.12

0.14

0.16

0.18

left section (1D−2D−1D) right section (1D−2D−1D) 1D−1D−1D

50

0

0.2

0

0.05

(a) Density

0.1 t [sec]

0.15

0.2

(b) Axial velocity

120 118

left section

116 pressure [kPa]

114 112 110 108

right section

106 1D−2D−1D

104

1D−2D−1D 102 100

1D−1D−1D 0

0.02

0.04

0.06

0.08

0.1 t [sec]

0.12

0.14

0.16

0.18

0.2

(c) Pressure

Figure 59. Time evolution of solution at coupling sections.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

• Tailpipe: D = 70 − 85 mm, L = 600 mm.

Figure 60. Exhaust manifold geometry. One of the junctions 3-to-1 is modeled as a 3D domain, and coupled to 1D domains representing the pipes connected with it. The geometric model is shown in figure 61, where a (relatively short) stretch of the pipes were added to the 3D model of the junction in order to avoid the failure of the 1D approximation at the coupling section. With the aim of

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

430

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

simplifying the resolution, only the branch of the exhaust manifold containing the junction 3-to-1 is solved. In figure 62 a sketch of the computational model of the branch is presented. This figure shows two models, one of them is composed by four 1D pipes and the 3D junction, while in the other one the junction is represented as a 0D component. In this last case, the model by Corberan (see appendix 7.) is applied to solve the junction pipes. Thus, a comparison of the solution in the 1D pipes between both computational models is done and, a verification of the hypothesis in the junction model by Corberan is made also. The boundary conditions for these models are obtained simulating the whole engine by using a 0D/1D [51] code until a stationary (cyclic) state is reached. The engine speed is 8000 rpm and, therefore, the period of the cycle is Υ = 0.015 s. For the 3D junction, insulated walls are considered and slip condition is imposed on them. At coupling interfaces, the density and pressure over the whole section are equalized to the corresponding value of the 1D domains. In addition, the component of the velocity in the normal direction to the surface is equalized to the axial velocity at end pipes connected to the 3D domain. The tangential components of velocity on inlet/outlet sections are constrained to be null. The mesh of the 3D model has 278K tetrahedra and 67K nodes, and the 1D domains were discretized by means of uniform meshes with element size of h = 5 mm. The time step of the simulation is ∆t = 5 × 10−5 s. Several periods were simulated in order to reach (approximately) a stationary state in the solution. For the 1D-1D/0D-1D model, the discretizations in time and space are the same as in the 1D-3D-1D model.

Figure 61. Geometry of the junction 3-to-1. Some instantaneous distributions of the pressure over the junction skin are shown in figure 63, where t − t0 (118) t∗ = Υ is the non-dimensional time, being t0 the start time of the cycle.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation... 1D

3D P3 P2 P1

431

1D

J3 J2

J4

P4

J1

junction (0D)

1D

1D / 0D

1D

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 62. Computational models to solve a branch of the exhaust manifold.

Figure 63. Pressure field over the junction 3-to-1 skin at t∗ = 0.

Solutions from 1D-3D-1D and 1D-1D/0D-1D models are compared at coupling 1D/3D interfaces, named from P1 to P4 as it is indicated in figure 62. These comparisons are presented in figures 66 to 68. In figure 67 the velocity is referred as axial velocity which, for the 3D model, should be interpreted as the component of the velocity vector in the normal direction to the given surface. In the coupling sections of the header pipes, the waves in both models tend to have similar behavior, especially when the pulse of the velocity wave reaches the interface. The solution of the 1D-1D/0D-1D model is more oscillatory than the solution of the other model, which is because the pipes junction 0D model has no inertia. In general, the amplitude

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

432

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 64. Pressure field over the junction 3-to-1 skin at t∗ = 0.4.

Figure 65. Pressure field over the junction 3-to-1 skin at t∗ = 0.8. values are near each other on both solutions, being more attenuated for the 1D-3D-1D solution. The largest differences are found when the flow is established from the junction to the pipe. The influence of both the finite volume of the pipe junction and its geometric shape

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

433

is more clearly evident in the solutions obtained in coupling section P4. In this interface, the pressure peaks on the 1D-3D-1D solution are higher than on the 1D-1D/0D-1D model. 0.26

0.26 1D−3D−1D 1D−1D/0D−1D

0.25 0.24

0.24 density [kg/m 3]

density [kg/m 3]

1D−3D−1D 1D−1D/0D−1D

0.25

0.23 0.22 0.21

0.23 0.22 0.21

0.2

0.2

0.19

0.19

0.18

0

0.1

0.2

0.3

0.4

0.5 t*

0.6

0.7

0.8

0.9

0.18

1

0

0.1

0.2

(a) Section P1 0.26

0.24

0.25

0.5 t*

0.6

0.7

0.8

0.9

1

0.7

0.8

0.9

1

1D−3D−1D 1D−1D/0D−1D

0.24 density [kg/m 3]

0.23 density [kg/m 3]

0.4

(b) Section P2

0.25

0.22 0.21 0.2

0.23 0.22 0.21 0.2

1D−3D−1D 1D−1D/0D−1D

0.19 0.18

0.3

0

0.1

0.2

0.3

0.19 0.4

0.5 t*

0.6

0.7

0.8

0.9

0.18

1

0

0.1

0.2

(c) Section P3

0.3

0.4

0.5 t*

0.6

(d) Section P4

Figure 66. Time evolution of density at coupling sections through a cycle. 500

500 1D−3D−1D 1D−1D/0D−1D

400

axial velocity [m/s]

axial velocity [m/s]

300

200 100 0

200 100 0

−100

−100

−200

−200 0

0.1

0.2

0.3

0.4

0.5 t*

0.6

0.7

0.8

0.9

−300

1

0

0.1

0.2

(a) Section P1

0.3

0.4

0.5 t*

0.6

0.7

0.8

0.9

1

0.7

0.8

0.9

1

(b) Section P2 260

500 1D−3D−1D 1D−1D/0D−1D

400

240 220 axial velocity [m/s]

300 axial velocity [m/s]

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

300

−300

1D−3D−1D 1D−1D/0D−1D

400

200 100 0

200 180 160 140 120

−100 100 −200 −300

1D−3D−1D 1D−1D/0D−1D

80 0

0.1

0.2

0.3

0.4

0.5 t*

0.6

0.7

0.8

0.9

1

60

0

0.1

0.2

(c) Section P3

0.3

0.4

0.5 t*

0.6

(d) Section P4

Figure 67. Time evolution of axial velocity at coupling sections through a cycle.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

434

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al. 140

140 1D−3D−1D 1D−1D/0D−1D

120 110 100 90 80

1D−3D−1D 1D−1D/0D−1D

130

pressure [kPa]

pressure [kPa]

130

120 110 100 90

0

0.1

0.2

0.3

0.4

0.5 t*

0.6

0.7

0.8

0.9

80

1

0

0.1

0.2

(a) Section P1

0.3

0.4

0.5 t*

0.6

0.7

0.8

0.9

1

0.7

0.8

0.9

1

(b) Section P2

140

135 1D−3D−1D 1D−1D/0D−1D

130

1D−3D−1D 1D−1D/0D−1D

130

pressure [kPa]

pressure [kPa]

125 120 110 100

120 115 110 105 100

90 95 80

0

0.1

0.2

0.3

0.4

0.5 t*

0.6

0.7

0.8

0.9

90

1

0

0.1

0.2

(c) Section P3

0.3

0.4

0.5 t*

0.6

(d) Section P4

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 68. Time evolution of pressure at coupling sections through a cycle. The CFD 3D could be useful to validate or to improve a 0D model. For the junction 3-to-1 solved, the hypothesis of the pipes junction 0D model by Corberan will be checked. This model is composed by conservation equations, incoming path/Mach lines equations, the equality of the pressure in all pipes end, and the equality of the enthalpy in all outgoing branches in the junction, as presented in appendix 7.. With the exception of the incoming path/Mach lines equations, the remaining equations can be verified. The mass conservation equation is evaluated by computing the following quantity as a function of time P4 ˙i i=1 m (119) m ˙ ref P where m ˙ ref = 4i=1 |m ˙ i |. For the last cycle simulated, the curve for expression (119) is plotted in figure 69(a). Important deviations from the zero value (as assumed in the 0D model) could be observed in the figure. In a similar manner, for the energy conservation it is calculated the following expression P4

˙

i=1 hi

h˙ ref

(120)

P with h˙ ref = 4i=1 |h˙ i |. The results obtained are shown in figure 69(b) where, again, the difference between the 0D assumption and the 3D solution is relatively high. In figure 69(c) the relative difference of pressure is presented, which is computed as p4 − pi , p4

i = 1, 2, 3

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(121)

In Search of Improvements for the Computational Simulation...

435

where p4 is the mean pressure over the surface corresponding to the interface between the junction and the intermediate pipe (J4, see figure 62), and pi the mean pressure over the respective surfaces for header pipes (named Ji, i = 1, 2, 3 in figure 62). With p4 as reference pressure the maximum error is approximately 18 % and, as could be inferred from the figure, it is expected errors of the same order whether other pressures were adopted as reference. The final hypothesis in the model by Corberan is the equality of the enthalpy in all outgoing pipes. From the viewpoint of the intermediate pipe the interface J4 is an inlet for all times, then, the enthalpy over such a section (h4 ) is adopted as reference. The relative difference of outgoing enthalpy is computed as h4 − hi , h4

i = 1, 2, 3

(122)

hi being the mean enthalpy over the section Ji. Figure 69(d) shows this relative difference, where the maximum error is about 10 %. As could be noted, the curves are discontinuous due to the change in the sense of flow through the cycle.

0.3

0.3

0.2

0.2

0.1 0

0

−0.1

−0.2

−0.2

0

0.1

0.2

0.3

0.4

0.5 t*

0.6

0.7

0.8

0.9

−0.3

1

(a) Equilibrium of relative mass fluxes at junction

0.1

0.2

0.3

0.4

0.5 t*

0.6

0.7

0.8

0.9

1

15 relative dif. of outgoing enthalpy [%]

head pipe 1 head pipe 2 head pipe 3

15 10 5 0 −5 −10

0

(b) Equilibrium of relative enthalpy fluxes at junction

20 relative difference of pressure [%]

0.1

−0.1

−0.3

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

0.4

Σ h i / href

Σ m i / mref

0.4

0

0.1

0.2

0.3

0.4

0.5 t*

0.6

0.7

0.8

0.9

1

(c) Pressure difference with respect to pressure at J4

head pipe 1 head pipe 2 head pipe 3 10

5

0

−5

0

0.2

0.4

0.6

0.8

1

t*

(d) Outgoing enthalpy difference at junction with respect to enthalpy at J4

Figure 69. Relative errors in the hypothesis of the pipes junction 0D model by Corberan. Summarizing, for the example solved the major deviations in the assumptions of the Corberan model were found in the conservation of mass and energy. This could be because the volume of the junction is neglected in this 0D model. The hypothesis of equality of pressure in all branches and the equality of the enthalpy in all outgoing pipes present a moderate relative error.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

436

6.

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

Numerical Simulation of the MRCVC Engine

In this section, the computational tools developed in previous sections are applied to simulate the Constant-Volume Combustion Rotative Engine (MRCVC, for Motor Rotativo de Combusti´on a Volumen Constante [62]). The main feature of the MRCVC engine is that the combustion could be performed at constant volume (effectively). To be more precise, when the chamber reaches its minimum volume and during a finite angular interval, the chamber changes its shape but not its volume. Furthermore, the combustion chamber has a ratio surface area/volume similar to those found in reciprocating engines [61]. Thus, a net increment on the engine thermodynamic efficiency could be reached when it is compared with both, the rotative Wankel engine and the classical engine with reciprocating pistons. The MRCVC engine has a perfect static and dynamic balance of its moving components, and hence, allowing to achieve high smoothness and low engine vibration. Also, the contact between apex seals and walls is harmonic, which should permits to reduce wear and noise.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

6.1.

Operation and Geometry of MRCVC

The MRCVC was invented and patented by Jorge Toth [62], and it is under development at the Applied Mechanical Department of National University of Comahue (Neuqu´en, Argentina). In order to test the kinematic of the mechanism designed, at present, only a compressor with the geometry of the MRCVC was built [61]. This engine is composed by a rotor and two or more vanes inside a cylindrical housing. Figure 70 illustrates the geometry of a MRCVC with four vanes. The central region of the housing and the vanes have oval shape, with apex seals to avoid gas leakage. The rotor is a ring with cylindrical hollows allowing the relative rotation movement of the vanes. Each vane must to keep parallel its centerline with respect to the other vanes while their centers revolve around the output shaft. In this form, the vanes have translational movement only. This kinematic constraint is accomplished by means of a rim, which also links the engine shaft with the rotor and vanes. Breathing could be through ports in the side housings and/or through lateral ports in the center housing. However details of the gas-exchange system is undefined yet and it is under development. Considering as null the radii of apex seals, the geometry of MRCVC engine is completely defined by specifying the number of vanes (n), the radius of the trajectory center of the vanes (R), the half length of vane centerline (r), and the height of the chamber (h) [61]. Figure 71 shows a sketch of the top view of the MRCVC indicating the main geometric parameters. This geometric simplification is applied in this analysis to model the flow domain. Although a MRCVC with the simplest geometry is technologically unfeasible, the simplification turns simpler the analysis but retaining the main characteristics of the machine. The rotation angle of engine shaft (θ) is measured clockwise relative to the trailing vane position when the chamber has its maximum volume at the start of compression stroke. Due to the symmetry of the MRCVC geometry, it is enough to analyze the angular interval 0≤θ≤

n+2 π 2n

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

(123)

In Search of Improvements for the Computational Simulation...

437

Figure 70. Cutaway drawing of four-vanes MRCVC engine. rotor

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

vane R r r

r

stator θ

Figure 71. Basic geometry of a three-vane MRCVC and definition of its main geometric parameters.

which corresponds to a variation of the chamber volume from its maximum value to the minimum one. The geometry chamber for the remain part of the cycle is obtained by Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

438

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

flipping the domain around the geometric symmetry axis. In order to get analytical formulae for describing the chamber geometry, the interval (123) is split in five sub-intervals due to topological changes and boundary redefinition. These intervals are defined as • Interval 1: 0≤θ< where φ = arcsin • Interval 2:

r R

n−2 π−φ 2n

. n−2 n−2 π−φ≤θ < π+φ 2n 2n

• Interval 3:

n−2 n+2 π+φ≤θ < π + φ − 2ψ 2n 2n   2r where ψ = arctan √ . R2 − r 2

• Interval 4:

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

• Interval 5:

n+2 n+2 π + φ − 2ψ ≤ θ < π−φ 2n 2n n+2 n+2 π−φ≤θ ≤ π 2n 2n

Figure 72 illustrates the position and shape of the flow domain for the angles at lower and higher limits of each sub-interval covering the interval (123). As mentioned above, the crank shaft rotates (n + 2)π/(2n) radians when the chamber evolves from its maximum volume to the minimum volume. Considering as a ‘stroke’ the evolution of the chamber volume between extrema values, then, the cycle duration is   2 ∆θ = 2π 1 + (124) n in order to complete the four-stroke cycle. Note that the cycle duration depends on the number of vanes and, thus, contrasts with classical reciprocating and rotative engines, which works with two-stroke (∆θ = 2π) or four-stroke (∆θ = 4π) operating cycles. There are n + 2 operating chambers along a cycle, which produce a power ‘stroke’ per cycle. Therefore, n power pulses occur for each output shaft revolution.

6.2.

Numerical Simulation of Fluid Flow in the MRCVC Engine

The fluid flow problem is solved using a two-dimensional approximation of the threedimensional chamber. Due to the cylindrical shape of the chamber in the output shaft axis direction, this approximation could give a good representation of the flow in the middle plane of the chamber. The engine simulated has n = 3 vanes, with R = 116.1 mm and

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

(d) θ =

(a) θ = 0

(b) θ =

n−2 π−φ 2n

n+2 π + φ − 2ψ 2n

(e) θ =

n+2 π−φ 2n

(c) θ =

439

n−2 π+φ 2n

(f) θ =

n+2 π 2n

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 72. Changes of flow domain definition during a ‘stroke’ for a 3-vanes MRCVC engine. r = h = 44.1 mm. The maximum chamber volume is 500 cm3 and the geometric compression ratio is 9:1. As discussed in the last section, the cycle duration for the geometric configuration used is 600◦ , with five operating chambers per cycle. In the following sections results of the CMD and CFD problems are presented and discussed. 6.2.1.

Computational Mesh Dynamic Problem

As noted in section 3., the numerical simulation of in-cylinder flows in internal combustion engines has the advantage that the CMD problem could be solved a priori, i.e. before to solve the fluid problem. The displacement of solid walls is imposed and their movement is not affected by the flow field. In addition, the periodicity of the movement allows to compute the mesh only for one cycle. In the particular case of MRCVC engine, the mesh could be generated for a ‘stroke’ and, then, to flip it around vertical and horizontal symmetry axis. As it is shown in figure 72, the flow domain changes either their topology or their boundary definition four times during a ‘stroke’. Then, at least five remeshing stages must be introduced per ‘stroke’. More remeshing stages could be necessary in order to keep a good mesh quality. The meshes generated have triangular elements with h = 0.2 mm on the boundaries and h = 0.5 mm in the interior region of the domain. Two sequences of meshes were generated in order to compare the mesh quality obtained. In the first sequence, a mesh were generated

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

440

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

for each region (sub-interval) at the angle representing the middle of the interval where the region is valid. In the second sequence, the intervals 2, 3 and 4 were sub-divided into two sub-intervals with the same length. In both cases, the mesh movement was computed using prescribed displacements of the boundary nodes. Table 5 contains the number of elements and nodes in each mesh generated for both sequences. Table 5. Data of meshes generated

Interval 2

94496

48711

Interval 3

47054

24358

Interval 4

17047

9056

Interval 5

13083

6888

Second sequence Elements Nodes 111980 58156 103215 53567 80880 41986 58014 30174 36645 19145 21662 11422 14205 7575 13083 6888

Figure 73 shows (in logarithmic scale) the mesh quality as a function of the rotation angle of the output shaft. The element quality is measured using the expression (43). In the figure, the black solid line corresponds to the first sequence of meshes and the blue dashed line to the second one. As expected, the mesh quality deteriorates sharply in the boundary angles between two consecutive intervals. This occur since some circular arcs belonging to the boundary of the domain appear and/or disappear from an interval to the following one. Then, the area of elements attached to these boundary arcs tends to zero and, thus, the mesh quality goes to zero also. 1

0.1 mesh quality

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Interval 1

First sequence Elements Nodes 111980 58156

0.01

0.001 1

0.0001

0

2

20

3

40

60 80 100 crank angle [deg]

4

5

120

Figure 73. Mesh quality as a function of the rotation angle. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

140

In Search of Improvements for the Computational Simulation...

441

In figures 74 to 78 the distribution of element quality q over the whole mesh at several crank angles is presented. Each figure contains the element quality field at initial and final angles of the intervals in which the ‘stroke’ is sub-divided. These distributions correspond to the second sequence of meshes generated.

(a) θ = 0

(b) θ =

n−2 π−φ 2n

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 74. Element quality field at initial and final angles of interval 1.

(a) θ =

n−2 π−φ 2n

(b) θ =

n−2 π+φ 2n

Figure 75. Element quality field at initial and final angles of interval 2.

6.2.2.

Computational Fluid Dynamic Problem

For the computation of fluid flow in the 2D domain, the intake and exhaust ports were placed in the internal region of the stator as sketched in figure 79. Cold conditions (without combustion) are assumed for the computation. The local preconditioning strategy presented in section 4. is applied to solve the problem. Non-slip boundary condition is imposed on the solid walls, which are assumed insulated. Intake and exhaust ports are modeled using the combination of wall and absorbing boundary conditions presented in section §2.2.3. with restrictions imposed via Lagrange multipliers. Reference states for absorbing boundary conditions are assumed constant in time. For the intake port, this reference state is

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

442

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

(a) θ =

n−2 π+φ 2n

(b) θ =

n+2 π + φ − 2ψ 2n

Figure 76. Element quality field at initial and final angles of interval 3.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

(a) θ =

n+2 π + φ − 2ψ 2n

(b) θ =

n+2 π−φ 2n

Figure 77. Element quality field at initial and final angles of interval 4.

(a) θ =

n+2 π−φ 2n

(b) θ =

n+2 π 2n

Figure 78. Element quality field at initial and final angles of interval 5. Uiref = [1.3937 kg/m3 , 0 m/s, 0 m/s, 120 kPa]T , and for the exhaust port is Ueref = [0.5575 kg/m3 , 0 m/s, 0 m/s, 80 kPa]T . Initially, the fluid is at rest with constant pressure

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

443

intake port

exhaust port

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 79. Intake and exhaust port geometries for the two-dimensional model. (100 kPa) and temperature (300 K). The gas has constant properties along the whole cycle with the following values: R = 287 J/kg K, µ = 1 × 10−5 m2 /s, κ = 0.01415 W/m K, and γ = 1.4. The rotation speed of the engine shaft is 3000 rpm and the time step is calculated with a target CF Lu number of 10. The minimum ∆θ permitted is 0.25 CAD and the maximum is 3 CAD. At each remeshing stage, the solution is projected from the ‘old’ mesh to the new one by using the interpolation functions of the FEM method. This projection is non-conservative, nevertheless it was used because that subject is out from the scope of this work and will be improved in the future. The problem is solved until the solution is approximately stationary (cyclic), which is reached in three cycles. The results obtained from the last cycle simulated are presented in the following figures. Figure 80 shows the magnitude of the flow velocity. Although only a chamber was simulated (the ‘reference’ chamber), the remaining four chambers are represented in the sub-figures by repetition via a rotation transformation of an integral multiple of 2π/n. Due to the large difference of the pressure along the whole cycle, the pressure field is presented in non-dimensional form and with a logarithmic scale. Figure 81 presents the quantity log(p/pref ), were pref = 100 kPa was adopted.

7.

Conclusion

The main goal of this chapter was the proposition, description and testing of some computational tools to solve in-chamber flows in IC engines. This type of problems involve several aspects to be solved, from which were addressed the mesh dynamics problem, the resolution of compressible flows at the low-Mach number limit, and the coupling between models with different level of approximation, particularly 1D/multi-D coupling for compressible flow.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

444

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

(a) θ = 0◦

(b) θ = 20◦

(c) θ = 40◦

(d) θ = 60◦

(e) θ = 80◦

(f) θ = 100◦

Figure 80. Magnitude of the flow velocity ([m/s]) in the chambers of the MRCVC. Regarding for the mesh dynamic problem, an optimization-based simultaneous mesh untangling and smoothing strategy was proposed. The functional adopted here, based on a mesh quality indicator, showed to be very robust to follow severe boundary deformations including in IC engine problems. Generally, in FSI problems the time step size is restricted by one of the two physical problems, the structural dynamic problem or the fluid dynamic one. Being the mesh dynamic an auxiliary problem, it is expected that it will not be more restrictive than any of the other two. However, in several applications the refinement imposes

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

In Search of Improvements for the Computational Simulation...

(a) θ = 0◦

(b) θ = 20◦

(c) θ = 40◦

(d) θ = 60◦

(e) θ = 80◦

(f) θ = 100◦

445

Figure 81. Non-dimensional logarithmic pressure field in the chambers of the MRCVC. the reduction of the time step size due to the mesh dynamics in order to avoid the element inversion. The enhancement of the CMD with simultaneous untangling and smoothing circumvents this drawback. A global solver is very attractive to make this procedure less user-dependent. One of the most popular strategies to solve flow problems at the low-Mach number limit, the preconditioning of the governing equations, was adopted in this work. Since the Mach number of in-cylinder flows in IC engines could range from very low values to tran-

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

446

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

sonic values, the method of preconditioning is the most appropriate. This technique was applied in conjunction with the dual time stepping strategy in order to solve transient problems. The preconditioning matrix used was originally proposed by Choi and Merkle [11], and designed for steady compressible flows. Some ‘free’ parameters of that matrix were redefined for transient flows analyzing the eigenvalues of the system. Moreover a stabilized finite element formulation was derived from the original work formulated in terms of a finite volume method. This formulation was tuned having into account the modified wave propagation introduced by the preconditioned mass matrix for unsteady problems. The resultant method was compared with solutions of Navier-Stokes equations for incompressible flows with very good results. Furthermore, it was shown that, under the same conditions (mesh element size, time step, etc.), the preconditioning strategy gives better results than the non-preconditioned system. In addition, the strategy was tested in IC engine problems without combustion. Besides, a simple approach was studied to solve the 1D/multi-D domain coupling for compressible flows. The strategy proposed is based on constraints of the state at the coupling interface. This method could be useful when an implicit time scheme is applied and the problem is solved in a ‘monolithic’ way. In the 1D/1D case, the non-splitted system is recovered. The method was successfully applied to solve 2D/1D and 3D/1D coupling problems. The junction 3-to-1 of the exhaust manifold of a six-cylinder IC engine was simulated using the 3D/1D coupling strategy. The solution was compared with the results obtained from the 1D/0D code and a verification of the hypothesis in the pipe junction 0D model proposed by Corberan was also done. Furthermore, simulations of the rotative IC engine MRCVC were performed. A great amount of work remains to be done on the improvement of the computational tools for the simulation of IC engines. For instance, the effective coupling of an 1D/0D code and the CFD-3D code PETSc-FEM is proposed as a future work. In addition, the computational tools developed in this chapter should be massively applied to the simulation of in-cylinder flows in 3D geometries of IC engine, in particular the MRCVC. These simulations should incorporate the modeling of the combustion process, spray dynamics, mixture formation, more accurate boundary conditions (e.g. a law of the wall for the temperature to take into account turbulent effects), etc.

Appendix: Pipe Junction 0D Model In this appendix, the pipe junction 0D model proposed by Corberan [13] is presented. If the junction is composed by r incoming pipes and s outgoing pipes, the model is expressed as • Mass conservation N X

m˙ j = 0,

with m˙ j = ρj Fj uj nj

j=1

where N = r + s is the total number of pipes at the junction, Fj is the cross-section area of the j-th pipe and nj its exterior normal. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

447

• Energy conservation N X

m˙ j (c2 + δu2j ) with h˙j = γ−1 j

h˙j = 0,

j=1

with δ = (γ − 1)/2. • Compatibility equation along incoming Mach lines λ± j 

dp dt



± ρ j cj



j

du dt



= RHS± 2



j

j

, j = 1, · · · , N

where RHS± 2 = ρ(γ − 1)(q˙ + uG) ∓ ρcG −

ρuc2 dF , F dx

F is the pipe cross-section area; G=f

u|u| D π 2 F

is the specific friction force, with the friction coefficient given by f = 8τw /ρu2 , τw being the viscous shear stress at wall of the pipe and D the equivalent diameter of the pipe; and q˙ is the heat transfer per unit mass of fluid per unit time. • Compatibility equation along incoming path lines λ0j

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.



Dp Dt



− j

c2j



Dρ Dt

where RHS1 =



= (RHS1 )j ,

j∈r

j

γ−1 (q˙ + uG) RT

. • Equality of pressure at all branches in the junction pi = pj ,

∀i 6= j

• Equality of enthalpy at all outgoing branches in the junction c2i + δu2i = c2j + δu2j ,

∀i, j ∈ s,

i 6= j

References [1] S. Aliabadi, S. Ray, and T. Tezduyar. SUPG finite element computation of viscous compressible flows based on the conservation and entropy variables formulations. Computational Mechanics, 11:300–312, 1993.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

448

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

[2] A. Alonso, R.L. Trotta, and A. Valli. Coercive domain decomposition algorithms for advection-diffusion equations and systems. Journal of Computational and Applied Mathematics, 96:51–76, 1998. [3] A.A. Amsden. KIVA-3: A KIVA program with block-structured mesh for complex geometries. Technical report, Los Alamos, New Nexico, 1993. [4] A.A. Amsden, T.D. Butler, P.J. O’Rourke, and J.D. Ramshaw. KIVA-A comprehensive model for 2-D and 3-D engine simulations. SAE paper, 850554, 1985. [5] R.F. Ansdale. The Wankel RC Engine Desing and Performance. Iliffe Books, London, 1968. [6] S. Balay, K. Buschelman, W.D. Gropp, D. Kaushik, M.G. Knepley, L.C. McInnes, B.F. Smith, and H. Zhang. PETSc: Portable, extensible toolkit for scientific computation. http://www.mcs.anl.gov/petsc/, 2007. [7] R.M. Beam and R.F. Warming. An implicit finite-difference algorithm for hyperbolic systems in conservation-law form. Journal of Computational Physics, 22:87–110, 1976. [8] T. Belytschko, D.P. Flanagan, and J.M. Kennedy. Finite element methods with usercontrolled meshes for fluid-structure interaction. Computer Methods in Applied Mechanics and Engineering, 33:669–688, 1982.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

[9] P.E. Bjφstard and O.B. Widlund. Iterative methods for the solution of elliptic problems on regions partitioned into structures. SIAM Journal on Numerical Analysis, 23:1097– 1120, 1986. [10] A.N. Brooks and T.J.R. Hughes. Streamline upwind Petrov-Galerkin formulations for convection dominated flows with particular emphasis on the incompressible NavierStokes equations. Computer Methods in Applied Mechanics and Engineering, 32:199– 259, 1982. [11] Y-H. Choi and C.L. Merkle. The application of preconditioning in viscous flows. Journal of Computational Physics, 105:207–223, 1993. [12] M.C. Ciccoli. Adaptive domain decomposition algorithms and finite volume/finite element approximation for advection-diffusion equations. Journal of Scientific Computing, 11(4):229–341, 1996. [13] J.M. Corberan. A new constant pressure model for N-branch junctions. Proceedings of the Institution of Mechanical Engineers. Part D, Journal of automobile engineering, 206:117–123, 1992. [14] M. Delanaye, Ch. Hirsch, and K. Kovalev. Untangling and optimization of unstructured hexahedral meshes. Computational Mathematics and Mathematical Physics, 43(6):807–814, 2003. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

449

[15] I. Demird˘zi´c and M. Peri´c. Finite volume method for prediction of fluid flow in arbitrarily shaped domains with moving boundaries. Journal of Algorithms, 10:771–790, 1990. [16] J. Donea, S. Giuliani, and J.P. Halleux. An arbitrary, Lagrangian-Eulerian finite element method for transient dynamic fluid-structure interactions. SIAM Journal on Scientific Computing, 33:689–700, 1982. [17] J.M. Escobar, E. Rodr´ıguez, Montenegro R., G. Montero, and J.M. Gonz´alez-Yuste. Simultaneous untangling and smoothing of tetrahedral meshes. Computer Methods in Applied Mechanics and Engineering, 192:2775–2787, 2003. [18] L. Formaggia, J.-F. Gerbeau, F. Nobile, and A. Quarteroni. Numerical treatment of defective boundary conditions for the Navier-Stokes equations. SIAM Journal on Numerical Analysis, 40(1):376–401, 2002. [19] L.A. Freitag and P. Plassmann. Local optimization-based simplicial mesh untangling and improvement. International Journal for Numerical Methods in Engineering, 49(1):109–125, 2000. [20] F. Gastaldi and L. Gastaldi. On a domain decomposition for the transport equation: Theory and finite element approximation. IMA Journal of Numerical Analysis, 14:111–135, 1993.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

[21] F. Gastaldi, L. Gastaldi, and A. Quarteroni. ADN and ARN domain decomposition methods for advection-diffusion equations. In Magne E. Espedal Petter E. Bjφrstad and David E. Keyes, editors, Ninth International Conference on Domain Decomposition Methods, 1998. [22] M. Germano, U. Piomelli, P. Moin, and W. H. Cabot. A dynamic subgrid-scale eddy viscosity model. In Stanford Univ., Studying Turbulence Using Numerical Simulation Databases. 3: Proceedings of the 1990 Summer Program p 5-17 (SEE N92-30648 21-34), pages 5–17, 1990. [23] U. Ghia, K.N. Ghia, and C.T. Shin. High-Re solutions for incompressible flow using the Navier-Stokes equations and a multigrid method. Journal of Computational Physics, 48:387–411, 1982. [24] H. Guillard and C. Viozat. On the behavior of upwind schemes in the low Mach number limit. Computers & Fluids, 28(1):63–86, 1999. [25] J.B. Heywood. Internal Combustion Engine Fundamentals. McGraw-Hill, Inc., 1988. [26] Ch. Hirsch. Numerical Computation of Internal and External Flows. Volume 2: Computational Methods for Inviscid and Viscous Flows. John Wiley & Sons, 1990. [27] G. Houzeaux. A Geometrical Domain Decomposition Method in Computational Fluid Dynamics. PhD thesis, Escola T`ecnica Superior d’Enginyers de Camins, 2002. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

450

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

[28] T. Hughes and M. Mallet. A new finite element method for CFD: III. The generalized streamline operator for multidimensional advection-diffusion systems. Computer Methods in Applied Mechanics and Engineering, 58:305–328, 1986. [29] T.J.R. Hughes, W.K. Liu, and T.K. Zimmermann. Lagrangian-Eulerian finite element formulation for incompressible viscous flows. Computer Methods in Applied Mechanics and Engineering, 29:239–349, 1981. [30] P. Knupp. Hexahedral mesh untangling and algebraic mesh quality metrics. Proceedings of 9th International Meshing Roundtable, pages 173–183, 2000. [31] P.M. Knupp. Algebraic mesh quality metrics. SIAM Journal on Scientific Computing, 23(1):192–218, 2001. [32] G. Le Beau, S. Ray, and T. Tezduyar. SUPG finite element computation of compressible flows with the entropy and conservation variables formulations. Computer Methods in Applied Mechanics and Engineering, 104:27–42, 1993. [33] J.S. Leiva and G.C. Buscaglia. Estrategias de acoplamiento entre c´odigos 0D/1D y c´odigos CFD 3D. Mec´anica Computacional, Volumen XXV, pages 53–82, 2006. [34] C. Liu and Z. Liu. High order finite difference and multigrid methods for spatially evolving instability in a planar channel. Journal of Computational Physics, 106(1):92– 100, 1993.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

[35] K. Liu and R.H. Pletcher. A fractional step method for solving the compressible Navier-Stokes equations. Journal of Computational Physics, 226:1930–1951, 2007. [36] E.J. L´opez, N.M. Nigro, M.A. Storti, and J.A. Toth. A minimal element distortion strategy for computational mesh dynamics. International Journal for Numerical Methods in Engineering, 69:1898–1929, 2007. [37] C.L. Merkle. Computation of flows with arbitrary equations of state. AIAA Journal, 36:515–521, 1998. [38] S. Mittal and T.E. Tezduyar. A unified finite element formulation for compressible and incompressible flows using augmented conservation variables. Computer Methods in Applied Mechanics and Engineering, 161:229–243, 1998. [39] R. Montenegro, J.M. Escobar, E. Rodr´ıguez, G. Montero, and J.M. Gonz´alez-Yuste. Improved objective functions for tetrahedral mesh optimisation. Lecture Notes in Computer Science, 2657:568–578, 2003. [40] N. Nigro, M. Storti, and S. Idelsohn. GMRES physics-based preconditioner for all Reynolds and Mach numbers: numerical examples. International Journal for Numerical Methods in Fluids, 25:1374–1371, 1997. [41] N. Nigro, M. Storti, S. Idelsohn, and T. Tezduyar. Physics based GMRES preconditioner for compressible and incompressible Navier-Stokes equations. Computer Methods in Applied Mechanics and Engineering, 154:203–228, 1998. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In Search of Improvements for the Computational Simulation...

451

[42] N.M. Nigro. Simulaci´on num´erica de problemas de mec´anica de fluidos por elementos finitos. PhD thesis, Universidad Nacional de C´ordoba, 1993. [43] N.M. Nigro. CFD by supercomputers. Post-doctoral thesis, Minnesota Supercomputer Institute, University of Minnesota, 1995. [44] T.H. Nomura. An arbitrary lagrangian-eulerian finite element method for interaction of fluid and a rigid body. Computer Methods in Applied Mechanics and Engineering, 95:115–138, 1992. [45] P.Y. Papalambros and D.J. Wilde. Principles of Optimal Design. Modeling and Computation. Cambridge University Press, 1988. [46] T.J. Pedley and K.D. Stephanoff. Flow along a channel with a time-dependent indentation in one wall: the generation of vorticity waves. Journal of Fluid Mechanics, 160:337–367, 1985. [47] A. Quarteroni and A. Valli. Domain Decomposition Methods for Partial Differential Equations. Oxford Science Publications, 1999. [48] M.E. Ralph and T.J. Pedley. Flow in a channel with a moving indentation. Journal of Fluid Mechanics, 190:87–112, 1988. [49] J.I. Ramos. Internal combustion engine modeling. Hemisphere Publishing Corporation, New York, 1989.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

[50] A.J. Reynolds. Turbulent Flows in Engineering. Wiley, New York, 1974. [51] http://www.fceia.unr.edu.ar/fceia1/mecanica/Automotores/ simulador_motor_index.htm. [52] J. Smagorinsky. General circulation experiments with the primitive equation: I the basic experiment. Monthly Weather Review, 91:216211, 1963. [53] J. Steger and R.F. Warming. Flux vector splitting of the inviscid gasdynamics equations with applications to finite-difference methods. Journal of Computational Physics, 40:263–293, 1981. [54] M.A. Storti, N.M. Nigro, R.R. Paz, and L.D. Dalc´ın. Dynamic boundary conditions in computational fluid dynamics. Computer Methods in Applied Mechanics and Engineering, 197:1219–1232, 2008. [55] M.A. Storti, N.M. Nigro, R.R. Paz, L.D. Dalc´ın, and E.J. L´opez. PETSc-FEM: A General Purpose, Parallel, Multi-Physics FEM Program. http://venus.ceride. gov.ar/petscfem/, 1999-2007. [56] H. Tennekes and J.L. Lumley. A First Course in Turbulence. MIT Press, Cambridge, Massachussets, 1972. Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

452

Ezequiel J. L´opez, Jorge A. Toth, Norberto M. Nigro et al.

[57] T. Tezduyar and M. Senga. Determination of the shock-capturing parameters in SUPG formulation of compressible flows. In Tsinghua University Press & Springler-Verlag, editor, Computational Mechanics WCCM IV, Beijing, China, 2004. [58] T.E. Tezduyar. Computation of moving boundaries and interfaces and stabilization parameters. International Journal for Numerical Methods in Engineering, 43:555– 575, 2003. [59] T.E. Tezduyar. Finite Element Methods for Fluid Dynamics with Moving Boundaries and Interfaces. Volume 3: Fluids. John Wiley & Sons, (eds. E. Stein, R. De Borst and T.J.R. Hughes), New York, 2004. [60] T.E. Tezduyar, S. Mittal, S.E. Ray, and R. Shih. Incompressible flow computations with stabilized bilinear and linear equal order interpolation velocity-pressure elements. Computer Methods in Applied Mechanics and Engineering, 95:221–242, 1992. [61] J. Toth, J. Di Nezio, C. Staniscia, and E. L´opez. Ventajas mec´anicas y termodin´amicas de un nuevo motor rotativo. In 9 ◦ Congreso Chileno de Ingenier´ıa Mec´anica, Valpara´ıso, Chile, October 2000. [62] J.A. Toth. Motor Rotativo de Combusti´on a Volumen Constante (MRCVC), 2004. Patent Res. N◦ AR004806B1, Rec. N◦ P 19960105411. [63] R.L. Trotta. Multidomain finite elements for advection-diffusion equations. Applied Numerical Mathematics, 21:91–118, 1996.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

[64] E. Turkel, R. Radespiel, and N. Kroll. Assessment of preconditioning methods for multidimensional aerodynamics. Computers & Fluids, 26(6):613–634, 1997. [65] E. Turkel and V.N. Vasta. Local preconditioners for steady and unsteady flow applications. ESAIM: Mathematical Modelling and Numerical Analysis, 39:515–535, 2005. [66] D. Vigneron, G. Deli´ege, and Essers J-A. Low Mach number local preconditioning for unsteady viscous finite volumes simulations on 3D unstructured grids. European Conference on Computational Fluid Dynamics, 2006. [67] D.C. Wilcox. Turbulence Modeling for CFD. D C W Industries, 2 edition, 2002. [68] X. Xu, J.S. Lee, and R.H. Pletcher. A compressible finite volume formulation for large eddy simulation of turbulent pipe flows at low Mach number in cartesian coordinates. Journal of Computational Physics, 203:22–48, 2005.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

In: Computational Mechanics Research Trends Editor: Hans P. Berger, pp. 453-493

ISBN 978-1-60876-057-2 c 2010 Nova Science Publishers, Inc.

Chapter 11

MPI AND PETS C FOR P YTHON Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti and Rodrigo R. Paz Centro Internacional de M´etodos Computacionales en Ingenier´ıa (CIMEC) CONICET - INTEC - UNL Parque Tecnol´ogico del Litoral Centro (3000) Santa Fe, Argentina

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Abstract This work reports our attempts to facilitate the access to high-performance parallel computing resources within a Python programming environment. The outcome of this effort are two open source and public domain packages, MPI for Python (known in short as mpi4py) and PETSc for Python (known in short as petsc4py). MPI for Python [1, 2, 3], is an open-source software project that provides bindings of the Message Passing Interface (MPI) standard for the Python programming language and targets the development of parallel application codes in Python. Its facilities allow parallel Python programs to easily exploit multiple processors. MPI for Python employs any back-end MPI implementation, thus being immediately available on any parallel environment providing access to any MPI library. PETSc for Python [4] is an open-source software project that provides access to the Portable, Extensible Toolkit for Scientific Computation (PETSc) libraries within the Python programming language. Its facilities allow sequential and parallel Python applications to exploit state of the art algorithms and data structures readily available in PETSc.

1.

Introduction

Although a lot of progress has been made in theory as well as practice, the true costs of accessing parallel environments are still largely dominated by software. The number of end-user parallelized applications is still very small, as well as the number of people affected to their development. Engineers and scientists not specialized in programming or numerical computing, and even small and medium size software companies, hardly ever considered developing their own parallelized code. High performance computing is traditionally associated with software development using compiled languages. However, in

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

454

Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti et al.

typical applications programs, only a small part of the code is time-critical enough to require the efficiency of compiled languages. The rest of the code is generally related to memory management, error handling, input/output, and user interaction, and those are usually the most error-prone and time-consuming lines of code to write and debug in the whole development process. Interpreted high-level languages can be really advantageous for these kind of tasks. This chapter reports the attempts to facilitate the access to high-performance parallel computing resources within a Python programming environment. The target audience are all members of the scientific and engineering community using Python on a regular basis as the supporting environment for developing applications or performing numerical simulations. The target computing platforms range from multiple-processor and/or multiple-core desktop computers, clusters of workstations or dedicated computing nodes either with standard or special network interconnects, to high-performance shared memory machines. The net result of this effort are two open source and public domain packages, MPI for Python (known in short as mpi4py) and PETSc for Python (known in short as petsc4py). MPI for Python [1, 2, 3], is an open-source, public-domain software project that provides bindings of the Message Passing Interface (MPI) standard for the Python programming language. MPI for Python is a general-purpose and full-featured package targeting the development of parallel application codes in Python. Its facilities allow parallel Python programs to easily exploit multiple processors. MPI for Python employs a back-end MPI implementation, thus being immediately available on any parallel environment providing access to any MPI library. PETSc for Python [4] is an open-source, public-domain software project that provides access to the Portable, Extensible Toolkit for Scientific Computation (PETSc) libraries within the Python programming language. PETSc for Python is a general-purpose and fullfeatured package. Its facilities allow sequential and parallel Python applications to exploit state of the art algorithms and data structures readily available in PETSc. The rest of this section presents a brief description about the Python programming language and some of the more important tools available for scientific computing. Section 2. presents a general description about MPI and the main concepts covered in the MPI-1 and MPI-2 standard specifications. Details about design and implementation of MPI for Python and a series of short, self-contained example codes is provided. These examples show how to use MPI for Python for implementing parallel Python codes with the help of MPI. Section 3. presents a general description about PETSc and their main components and features. A general overview of the many PETSc concepts and functionalities accessible through PETSc for Python and some example codes are provided.

1.1.

The Python Programming Language

The popularity of some general high-level, general purpose scientific computing environments–such as MATLAB and IDL in the commercial side or Octave and Scilab in the open source side–has increased considerably. Users simply feel much more productive in such interactive environments providing tight integration of simulation and visualization. They are alleviated of low-level details associated to compilation and linking steps, mem-

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

MPI and PETSc for Python

455

ory management and input/output of the more traditional scientific programming languages like Fortran, C, and even C++. Recently, the Python programming language [5, 6] has attracted the attention of many end-users and developers in the scientific community. Python offers a clean and simple syntax, is a very powerful language, and allows skilled users to build their own computing environment, tailored to their specific needs and based on their favorite high-performance Fortran, C, or C++ codes. Sophisticated but easy to use and well integrated packages are available for interactive command-line work, efficient multi-dimensional array processing, 2D and 3D visualization, and other scientific computing tasks. Python [5] is a modern, easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax, together with its interpreted nature, make it an ideal language for scripting and rapid application development. It supports modules and packages, which encourages program modularity and code reuse. Additionally, It is easily extended with new functions and data types implemented in C, C++, and Fortran. The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms, and can be freely distributed.

1.2.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

1.2.1.

Tools for Scientific Computing Numerical Python

NumPy [7] is an open source project providing the fundamental library needed for serious scientific computing with Python. NumPy provides a powerful multi-dimensional array object with advanced and efficient array slicing operations to select array elements and convenient array reshaping methods. Additionally, NumPy contains three sub-libraries with numerical routines providing basic linear algebra operations, basic Fourier transforms and sophisticated capabilities for random number generation. 1.2.2.

Scientific Tools for Python

SciPy [8] is an open source library of scientific tools for Python. It depends on the NumPy library, and it gathers a variety of high level science and engineering modules together as a single package. SciPy provides modules for statistics, optimization, numerical integration, linear algebra, Fourier transforms, signal and image processing, genetic algorithms, special functions, and many more. 1.2.3.

Fortran to Python Interface Generator

F2PY [9] provides a connection between the Python and Fortran programming languages. F2PY is a development tool for creating Python extension modules from special signature files or directly from annotated Fortran source files. The signature files, or the Fortran

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

456

Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti et al.

source files with additonal annotations included as comments, contain all the information (function names, arguments and their types, etc.) that is needed to construct convenient Python bindings to Fortran functions. The F2PY-generated Python extension modules enable Python codes to call those Fortran 77/90/95 routines. In addition, F2PY provides the required support for transparently accessing Fortran 77 common blocks or Fortran 90/95 module data. Fortran (and specially Fortran 90 and above) is a convenient compiled language for efficiently implementing lengthy computations involving multi-dimensional arrays. Although NumPy provides similar and higher-level capabilities, there are situations where selected, numerically intensive parts of Python applications still requiere the efficiency of a compiled language for processing huge amounts of data in deeply-nested loops. Additionally, state of the art implementations of many commonly used algorithms are readily available and implemented in Fortran. In a Python programming environment, F2PY is then the tool of choice for taking advantage of the speed-up of compiled Fortran code and integrating existing Fortran libraries.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

1.2.4.

Cython

Cython [10] is a language that provides access to low-level C data types and functionalities in a Python runtime environment. Cython is very close to Python in several aspects, but addditionally supports calling C functions and declaring C types on variables and class atributes. This allows the compiler to generate very efficient C code from Cython code. Still, Cython is not a Python to C translator: codes preserve its form in Python language and runs within the Python runtime environment, but Cython adds extra syntax for easy embedding of faster C-like code. Using Cython, code which manipulates Python values and C values can be freely intermixed, with conversions occurring automatically wherever possible. Reference count maintenance and error checking of Python operations is also automatic, and the full power of Python exception handling facilities is available even in the midst of manipulating C data. These features make Cython an ideal language for straightforward wrapping of C libraries.

2.

MPI for Python

This section is devoted to describing MPI for Python, an open-source, public-domain software project that provides bindings of the Message Passing Interface (MPI) standard for the Python programming language. MPI for Python is a general-purpose and full-featured package targeting the development of parallel application codes in Python. It provides core facilities that allow parallel Python programs to exploit multiple processors. Sequential Python applications can also take advantages of MPI for Python by communicating through the MPI layer with external, independent parallel modules, possibly written in other languages like C++,C, or Fortran. MPI for Python employs a back-end MPI implementation, thus being immediately available on any parallel environment providing access to any MPI library. Those environments range from multiple-processor and/or multiple-core desktop computers, clusters

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

MPI and PETSc for Python

457

of workstations or dedicated computing nodes with standard or special network interconnects, to high-performance shared memory machines.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.1.

An Overview of MPI

Among many parallel computational models, message-passing has proven to be an effective one. This paradigm is specially suited for (but not limited to) distributed memory architectures and is used in today’s most demanding scientific and engineering application related to modeling, simulation, design, and signal processing. MPI, the Message Passing Interface, is a standardized, portable message-passing system designed to function on a wide variety of parallel computers. The standard defines the syntax and semantics of library routines (MPI is not a programming language extension) and allows users to write portable programs in the main scientific programming languages (Fortran, C, and C++). MPI defines a high-level abstraction for fast and portable inter-process communication [11, 12]. Applications can run in clusters of (possibly heterogeneous) workstations or dedicated nodes, (symmetric) multiprocessors machines, or even a mixture of both. MPI hides all the low-level details, like networking or shared memory management, simplifying development and maintaining portability, without sacrificing performance. Portable message-passing parallel programming used to be a nightmare in the past because of the many incompatible options, developers were faced to. Proprietary message passing libraries were available on several parallel computer systems, and were used to develop significant parallel applications. However, the code portability of those applications was hampered by the huge differences between these communication libraries. At the same time, several public-domain libraries were available. They had demonstrated that portable message-passing systems could be implemented without sacrificing performance. The MPI specifications is nowadays the leading standard for message-passing libraries in the world of parallel computers. Implementations are available from vendors of highperformance computers and well known open source projects like MPICH [13, 14] and Open MPI [15, 16]. The MPI Forum has been dormant for nearly a decade. However, in late 2006 it reactivated for the purpose of clarifying current MPI issues, renew membership and interest, explore future opportunities, and possibly defining a new standard level. At the time of this witting, clarifications to MPI-2 are being actively discussed and new working groups are being established for generating a future MPI-3 specification. 2.1.1.

Communication Domains and Process Groups

MPI communication operations occurs within a specific communication domain through an abstraction called communicator. Communicators are built from groups of participating processes and provide a communication context for the members of those groups. Process groups enable parallel applications to assign processing resources in sets of cooperating processes in order to perform independent work. Communicators provide a safe isolation mechanism for implementing independent parallel library routines and mixing them with user code; message passing operations within different communication domains are guaranteed to not conflict.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

458

Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti et al.

Processes within a group can communicate each other (including itself) through an intracommunicator; they can also communicate with processes within another group through an intercommunicator. Intracommunicators are intended for communication between processes that are members of the same group. They have one fixed attribute: its process group. Additionally, they can have an optional, predefined attribute: a virtual topology (either Cartesian or a general graph) describing the logical layout of the processes in the group. This extra, optional topology attribute is useful in many ways: it can help the underlying MPI runtime system to map processes onto hardware; it simplifies the implementation of common algorithmic concepts. Intercommunicators are intended to be used for performing communication operations between processes that are members of two disjoint groups. They provide a natural way of enabling communication between independent modules in complex, multidisciplinary applications.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.1.2.

Point-to-Point Communication

Point to point communication is a fundamental capability of massage passing systems. This mechanism enables the transmittal of data between a pair of processes, one side sending, the other, receiving. MPI provides a set of send and receive functions allowing the communication of typed data with an associated tag. The type information enables the conversion of data representation from one architecture to another in the case of heterogeneous computing environments; additionally, it allows the representation of non-contiguous data layouts and user-defined datatypes, thus avoiding the overhead of (otherwise unavoidable) packing/unpacking operations. The tag information allows selectivity of messages at the receiving end. MPI provides basic send and receive functions that are blocking. These functions block the caller until the data buffers involved in the communication can be safely reused by the application program. MPI also provides nonblocking send and receive functions. They allow the possible overlap of communication and computation. Non-blocking communication always come in two parts: posting functions, which begin the requested operation; and test-for-completion functions, which allow to discover whether the requested operation has completed. 2.1.3.

Collective Communication

Collective communications allow the transmittal of data between multiple processes of a group simultaneously. The syntax and semantics of collective functions is consistent with point-to-point communication. Collective functions communicate typed data, but messages are not paired with an associated tag; selectivity of messages is implied in the calling order. Additionally, collective functions come in blocking versions only. The more commonly used collective communication operations are the following. • Barrier synchronization across all group members. • Global communication functions

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

MPI and PETSc for Python

459

– Broadcast data from one member to all members of a group. – Gather data from all members to one member of a group. – Scatter data from one member to all members of a group. • Global reduction operations such as sum, maximum, minimum, etc. 2.1.4.

Dynamic Process Management

In the context of the MPI-1 specification, a parallel application is static; that is, no processes can be added to or deleted from a running application after it has been started. Fortunately, this limitation was addressed in MPI-2. The new specification added a process management model providing a basic interface between an application and external resources and process managers. This MPI-2 extension can be really useful, especially for sequential applications built on top of parallel modules, or parallel applications with a client/server model. The MPI-2 process model provides a mechanism to create new processes and establish communication between them and the existing MPI application. It also provides mechanisms to establish communication between two existing MPI applications, even when one did not “start” the other.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.1.5.

One-Sided Operations

One-sided communications (also called Remote Memory Access, RMA) supplements the traditional two-sided, send/receive based MPI communication model with a one-sided, put/get based interface. One-sided communication that can take advantage of the capabilities of highly specialized network hardware. Additionally, this extension lowers latency and software overhead in applications written using a shared-memory-like paradigm. The MPI specification revolves around the use of objects called windows; they intuitively specify regions of a process’s memory that have been made available for remote read and write operations. The published memory blocks can be accessed through three functions for put (remote send), get (remote write), and accumulate (remote update or reduction) data items. A much larger number of functions support different synchronization styles; the semantics of these synchronization operations are fairly complex. 2.1.6.

Parallel Input/Output

The POSIX [17] standard provides a model of a widely portable file system. However, the optimization needed for parallel input/output cannot be achieved with this generic interface. In order to ensure efficiency and scalability, the underlying parallel input/output system must provide a high-level interface supporting partitioning of file data among processes and a collective interface supporting complete transfers of global data structures between process memories and files. Additionally, further efficiencies can be gained via support for asynchronous input/output, strided accesses to data, and control over physical file layout on storage devices. This scenario motivated the inclusion in the MPI-2 standard of a custom interface in order to support more elaborated parallel input/output operations.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

460

Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti et al.

The MPI specification for parallel input/output revolves around the use objects called files. As defined by MPI, files are not just contiguous byte streams. Instead, they are regarded as ordered collections of typed data items. MPI supports sequential or random access to any integral set of these items. Furthermore, files are opened collectively by a group of processes. The common patterns for accessing a shared file (broadcast, scatter, gather, reduction) is expressed by using user-defined datatypes. Compared to the communication patterns of point-to-point and collective communications, this approach has the advantage of added flexibility and expressiveness. Data access operations (read and write) are defined for different kinds of positioning (using explicit offsets, individual file pointers, and shared file pointers), coordination (non-collective and collective), and synchronism (blocking, nonblocking, and split collective with begin/end phases).

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.2.

Related Work on MPI and Python

As MPI for Python started and evolved, many ideas were borrowed from other well known open source projects related to MPI and Python. OOMPI [18, 19] is an excellent C++ class library specification layered on top of the C bindings encapsulating MPI into a functional class hierarchy. This library provides a flexible and intuitive interface by adding some abstractions, like Ports and Messages, which enrich and simplify the syntax. pyMPI [20] rebuilds the Python interpreter and adds a built-in module for message passing. It permits interactive parallel runs, which are useful for learning and debugging, and provides an environment suitable for basic parallel programing. There is limited support for defining new communicators and process topologies; support for intercommunicators is absent. General Python objects can be messaged between processors; there is some support for direct communication of numeric arrays. Pypar [21] is a rather minimal Python interface to MPI. There is no support for constructing new communicators or defining process topologies. It does not require the Python interpreter to be modified or recompiled. General Python objects of any type can be communicated. There is also good support for communicating numeric arrays and practically full MPI bandwidth can be achieved. Scientific Python [22] provides a collection of Python modules that are useful for scientific computing. Among them, there is an interface to MPI. This interface is incomplete and does not resemble the MPI specification. However, there is good support for efficiently communicating numeric arrays.

2.3.

Design and Implementation

Python has enough networking capabilities as to develop an implementation of MPI in “pure Python”, i.e., without using compiled languages or depending on the availability of a third-party MPI library. The main advantage of such kind of implementation is surely portability (at least as much as Python provides); there is no need to rely on any foreign language or library. However, such an approach would have many severe limitations as to the point being considered a nonsense. Vendor-provided MPI implementations take advantage

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

MPI and PETSc for Python

461

of special features of target platforms otherwise unavailable. Additionally, there are many useful and high-quality MPI-based parallel libraries; almost all them are written in compiled languages. The development of an MPI package based in calls to any available MPI implementation will sensibly ease the integration of other parallel tools in Python. Finally, Python is really easy to extend and connect with external software components developed in compiled languages; it is expected that “wrapping” any existing MPI library would require by far less development effort than reimplementing from scratch the full MPI specification. In subsection 2.2. some previous attempts of integrating MPI and Python were mentioned. However, all of them lack from completeness and interface conformance with the standard specification. MPI for Python provides an interface designed with focus on translating MPI syntax and semantics from the standard MPI-2 C++ bindings to Python. As syntax translation from C++ to Python is generally straightforward, any user with some knowledge of those C++ bindings should be able to use this package without need of learning a new interface specification. Of course, accessing MPI functionalities from Python necessarily requires some adjustments and enhancements in order to follow common language idioms and take better advantage of such a high-level environment.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.3.1.

Communicating General Python Objects and Array Data

The Python standard library supports different mechanisms for data persistence. Many of them rely on disk storage, but pickling and marshaling can also work with memory buffers. The pickle (slower, written in pure Python) and cPickle (faster, written in C) modules provide user-extensible facilities to serialize general Python objects using ASCII or binary formats. The marshal module provides facilities to serialize built-in Python objects using a binary format specific to Python, but independent of machine architecture issues. MPI for Python can communicate any built-in or used-defined Python object taking advantage of the features provided by the pickle/cPickle modules. These facilities will be routinely used to build binary representations of objects to communicate (at sending processes), and restoring them back (at receiving processes). Although simple and general, the serialization approach (i.e. pickling and unpickling) previously discussed imposes important overheads in memory as well as processor usage, especially in the scenario of objects with large memory footprints being communicated. Pickling general Python objects, ranging from primitive or container built-in types to userdefined classes, necessarily requires computer resources. Processing is also needed for dispatching the appropriate serialization method (that depends on the type of the object) and doing the actual packing. Additional memory is always needed, and if its total amount in not known a priori, many reallocations can occur. Indeed, in the case of large numeric arrays, this is certainly unacceptable and precludes communication of objects occupying half or more of the available memory resources. MPI for Python supports direct communication of any object exporting the singlesegment buffer interface. This interface is a standard Python mechanism provided by some types (e.g. strings and numeric arrays), allowing access in the C side to a contiguous memory buffer (i.e. address and length) containing the relevant data. This feature, in conjunc-

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

462

Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti et al.

tion with the capability of constructing user-defined MPI datatypes describing complicated memory layouts, enables the implementation of many algorithms involving multidimensional numeric arrays (e.g. image processing, fast Fourier transforms, finite difference schemes on structured Cartesian grids) directly in Python, with negligible overhead, and almost as fast as compiled Fortran, C, or C++ codes.

2.4.

Using MPI for Python

This section presents a general overview and some examples of many MPI concepts and functionalities readily available in MPI for Python. Discussed features range from classical MPI-1 message-passing communication operations to and more advances MPI-2 operations like dynamic process management, one-sided communication, and parallel input/output.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.4.1.

Communicators

In MPI for Python, Comm is the base class of communicators. Communicator size and calling process rank can be respectively obtained with methods Get_size() and Get_rank(). The Intracomm and Intercomm classes are derived from the Comm class. The Is_inter() method (and Is_intra(), provided for convenience, it is not part of the MPI specification) is defined for communicator objects and can be used to determine the particular communicator class. The two predefined intracommunicator instances are available: COMM_WORLD and COMM_SELF (or WORLD and SELF, they are just aliases provided for convenience). From them, new communicators can be created as needed. New communicator instances can be obtained with the Clone() method of Comm objects, the Dup() and Split() methods of Intracomm and Intercomm objects, and methods Create_intercomm() and Merge() of Intracomm and Intercomm objects respectively. Virtual topologies (Cartcomm and Graphcomm classes, both being a specialization of Intracomm class) are fully supported. New instances can be obtained from intracommunicator instances with factory methods Create_cart() and Create_graph() of Intracomm class. The associated process group can be retrieved from a communicator by calling the Get_group() method, which returns am instance of the Group class. Set operations with Group objects like like Union(), Intersect() and Difference() are fully supported, as well as the creation of new communicators from these groups. 2.4.2.

Blocking Point-to-Point Communications

The Send(), Recv() and Sendrecv() methods of communicator objects provide support for blocking point-to-point communications within Intracomm and Intercomm instances. These methods can communicate raw memory buffers. The variants send(), recv() and sendrecv() can communicate general Python objects. Figure 1 shows an example of high-level communication of Python objects. Process zero creates and next sends a Python dictionary to all other processes; the other processes

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

MPI and PETSc for Python

463

just issue a receive call for getting the sent object. MPI for Python automatically serializes (at sending process) and deserializes (at receiving processes) Python objects as needed. from mpi4py import MPI comm = MPI.COMM_WORLD size = comm.Get_size() rank = comm.Get_rank() if rank == 0: # create a Python ’dict’ object data = {’key1’ : [7, 2.72, 2+3j], ’key2’ : (’abc’, ’xyz’)} # send the object to all other processes for i in range(1, size): comm.send(data, dest=i, tag=3) else: # receive a Python object from process data = comm.recv(None, source=0, tag=3) # the received object should be a ’dict’ assert type(data) is dict

Figure 1. Sending and Receiving general Python objects. Additional examples of blocking point-to-point communication operations can be found in section 2.5.. Those examples show how MPI for Python can efficiently communicate NumPy arrays by directly using their exposed memory buffers, thus avoiding the overhead of serialization and deserialization steps.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.4.3.

Nonblocking Point-to-Point Communications

On many systems, performance can be significantly increased by overlapping communication and computation. This is particularly true on systems where communication can be executed autonomously by an intelligent, dedicated communication controller. Nonblocking communication is a mechanism provided by MPI in order to support such overlap. The inherently asynchronous nature of nonblocking communications currently imposes some restrictions in what can be communicated through MPI for Python. Communication of memory buffers, as described in section 2.3.1. is fully supported. However, communication of general Python objects using serialization, as described in section 2.3.1., is possible but not transparent since objects must be explicitly serialized at sending processes, while receiving processes must first provide a memory buffer large enough to hold the incoming message and next recover the original object. The Isend() and Irecv() methods of the Comm class initiate a send and receive operation respectively. These methods return a Request instance, uniquely identifying the started operation. Its completion can be managed using the Test(), Wait(), and Cancel() methods of the Request class. The management of Request objects and associated memory buffers involved in communication requires a careful, rather low-level coordination. Users must ensure that objects exposing their memory buffers are not accessed at the Python level while they are involved in nonblocking message-passing operations. Often a communication with the same argument list is repeatedly executed within an inner loop. In such cases, communication can be further optimized by using persistent

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

464

Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti et al.

communication, a particular case of nonblocking communication allowing the reduction of the overhead between processes and communication controllers. Furthermore , this kind of optimization can also alleviate the extra call overheads associated to interpreted, dynamic languages like Python. The Send_init() and Recv_init() methods of the Comm class create a persistent request for a send and receive operation respectively. These methods return an instance of the Prequest class, a subclass of the Request class. The actual communication can be effectively started using the Start() method, and its completion can be managed as previously described. Figure 2 shows a mixture of blocking and nonblocking point-to-point communication involving three processes. Process zero and two send data to process three using standard, blocking send calls; the messages have the same length but they are tagged with different values. Process three issues two nonblocking receive calls specifying a wildcard value for the source process, but explicitly selecting messages by their tag values; the data is received in a two-dimensional array with two rows and enough columns to hold each message. The nonblocking receive calls at process three return request objects, they are next waited for completion. While messages are in transit (between the post-receive calls and the call waiting for completion ), process three can use its computing resources for any other local task, thus effectively overlapping computation with communication. The outcome of this message interchange is the following: process three receives the message sent from process zero in the second row of the local data array; the the message sent from process one is received in the fist row of the local data array.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.4.4.

Collective Communications

The Bcast(), Scatter(), Gather(), Allgather() and Alltoall() methods of Intracomm instances provide support for collective communications of raw memory buffers. The variants bcast(), scatter(), gather(), allgather() and alltoall() can communicate general Python objects. The vector variants (which can communicate different amounts of data at each process) Scatterv(), Gatherv(), Allgatherv() and Alltoallv() are also supported, they can only communicate objects exposing raw memory buffers. Global reduction operations raw memory buffers are accessible through the Reduce(), Allreduce(), Scan() and Exscan() methods. The variants reduce(), allreduce(), scan() and exscan() can communicate general Python objects; however, the actual required reduction computations are performed sequentially at some process. All the predefined (i.e., SUM, PROD, MAX, etc.) reduction operations can be applied. Figure 3 shows an example of high-level communication of general Python objects. A Python dictionary created a process zero, next it is collectively broadcast to all other processes within a communicator. An additional example of collective communication is shown in figure 4. In this case, NumPy arrays are communicated by using their exposed memory buffers, thus avoiding the overhead of serialization/deserialization steps. This example implements a parallel dense matrix-vector product y = Ax. For the sake of simplicity, the input global matrix A is assumed to be square and block-distributed by rows within a group of processes with p

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

MPI and PETSc for Python from mpi4py import MPI import numpy comm = MPI.COMM_WORLD size = comm.Get_size() rank = comm.Get_rank() assert size == 3, ’run me in three processes’ if rank == 0: # send a thousand integers to process two data = numpy.ones(1000, dtype=’i’) comm.Send([data, MPI.INT], dest=2, tag=35) elif rank == 1: # send a thousand integers to process two data = numpy.arange(1000, dtype=’i’) comm.Send([data, MPI.INT], dest=2, tag=46) else: # create empty integer 2d array with two rows and # a thousand columns to hold received data data = numpy.empty([2, 1000], dtype=’i’) # post for receive 1000 integers with message tag 46 # from any source and store it in the firt row req1 = comm.Irecv([data[0, :], MPI.INT], source=MPI.ANY_SOURCE, tag=46) # post for receive 1000 integers with message tag 35 # from any source and store it in the second row req2 = comm.Irecv([data[1, :], MPI.INT], source=MPI.ANY_SOURCE, tag=35) # >> you could do other useful computations # >> here while the messages are in transit !!! MPI.Request.Waitall([req1, req2]) # >> now you can safely use the received data; # >> for example, the fist five columns of # >> data array can be printed to ’stdout’ print data[:, 0:5]

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 2. Nonblocking Communication of Array Data.

from mpi4py import MPI comm = MPI.COMM_WORLD rank = comm.Get_rank() # create a # but only if rank == data =

Python ’dict’ object, at process zero 0: {’key1’ : [7, 2.72, 2+3j], ’key2’ : ( ’abc’, ’xyz’)}

else: data = None # broadcast Python object created at # process zero to all other processes data = comm.bcast(data, root=0) # now all processes should have a ’dict’ assert type(data) is dict

Figure 3. Broadcasting general Python objects.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

465

466

Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti et al.

members, each process owning m consecutive rows from a total of mp global rows. The input vector x and output vector y also have block-distributed entries in compatibility with the row distribution of matrix A. The final implementation is straightforward. The global concatenation of input vector x is obtained at all processes through a gather-to-all collective operation, a matrix-vector product with the local portion of A is performed, and the readily distributed output vector y is finally obtained. from mpi4py import MPI import numpy def matvec(comm, A, x): "A x -> y" m = len(x) p = comm.Get_size() xg = numpy.zeros(m*p, dtype=’d’) comm.Allgather([x, MPI.DOUBLE], [xg, MPI.DOUBLE]) y = numpy.dot(A, xg) return y

Figure 4. Distributed Dense Matrix-Vector Product.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

2.4.5.

Dynamic Process Management

In MPI for Python, new independent processes groups can be created by calling the Spawn() method within an intracommunicator (i.e., an Intracomm instance). This call returns a new intercommunicator (i.e., an Intercomm instance) at the parent process group. The child process group can retrieve the matching intercommunicator by calling the Get_parent() method defined in the Comm class. At each side, the new intercommunicator can be used to perform point to point and collective communications between the parent and child groups of processes. Alternatively, disjoint groups of processes can establish communication using a client/server approach. Any server application must first call the Open_port() function to open a “port” and the Publish_name() function to publish a provided “service”, and next call the Accept() method within an Intracomm instance. Any client applications can first find a published “service” by calling the Lookup_name() function, which returns the “port” where a server can be contacted; and next call the Connect() method within an Intracomm instance. Both Accept() and Connect() methods return an Intercomm instance. When connection between client/server processes is no longer needed, all of them must cooperatively call the Disconnect() method of the Comm class. Additionally, server applications should release resources by calling the Unpublish_name() and Close_port() functions. As an example, figures 5 and 6 show a Python and a C++ implementation of a master/worker approach for approximately computing theRnumber π in parallel through a simple 1 numerical quadrature applied to the definite integral 0 4(1 + x2 )−1 dx. The codes on the left (figures 5(a) and 6(a)) implement “master”, sequential applications. These master applications create a new group of independent processes and communicate with them by sending (through a broadcast operation) and receiving (through a reduce operation) data. The codes on the right (figures 5(b) and 6(b)) implement “worker”,

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

MPI and PETSc for Python

467

parallel applications. These worker applications are in charge of receiving input data from the master (through a matching broadcast operation), making the actual computations, and sending back the results (through a matching reduce operation). A careful look at figures 5(a) and 6(a) reveals that, for each implementation language, the sequential master application spawns the worker application implemented in the matching language. However, this setup can be easily changed: the master application written in Python can stead spawn the worker application written in C++; the master application written in C++ can instead spawn the worker application written in Python. Thus MPI for Python and its support for dynamic process management automatically provides full interoperability with other codes using a master/worker (or client/server) model, regardless of their specific implementation languages being C, C++, or Fortran. #! /usr/local/bin/python # file: master.py from mpi4py import MPI from numpy import array N = array(100, ’i’) PI = array(0.0, ’d’) cmd = ’worker.py’ args = [] master = MPI.COMM_SELF worker = master.Spawn(cmd, args, 5) worker.Bcast([N,MPI.INT], root=MPI.ROOT) sbuf = None rbuf = [PI, MPI.DOUBLE] worker.Reduce(sbuf, rbuf, op=MPI.SUM, root=MPI.ROOT) worker.Disconnect() print PI

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

(a) Master Python code

#! /usr/local/bin/python # file: worker.py from mpi4py import MPI from numpy import array N = array(0, ’i’) PI = array(0, ’d’) master = MPI.Comm.Get_parent() np = master.Get_size() ip = master.Get_rank() master.Bcast([N, MPI.INT], root=0) h = 1.0 / N s = 0.0 for i in xrange(ip, N, np): x = h * (i + 0.5) s += 4.0 / (1.0 + x**2) PI[...] = s * h sbuf = [PI, MPI.DOUBLE] rbuf = None master.Reduce(sbuf, rbuf, op=MPI.SUM, root=0) master.Disconnect()

(b) Worker Python code

Figure 5. Computing π with a Master/Worker Model in Python.

2.4.6.

One-sided Operations

In MPI for Python, one-sided operations are available by using instances of the Win class. New window objects are created by calling the Create() method at all processes within a communicator and specifying a memory buffer (i.e., a base address and length). When a window instance is no longer needed, the Free() method should be called. The three one-sided MPI operations for remote write, read and reduction are available through calling the methods Put(), Get(), and Accumulate() respectively within a Win instance. These methods need an integer rank identifying the target process and an integer offset relative the base address of the remote memory block being accessed. The one-sided operations read, write, and reduction are implicitly nonblocking, and must be synchronized by using two primary modes. Active target synchronization requires the origin process to call the Start()/Complete() methods at the origin process, and

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

468

Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti et al.

// file: master.cxx // file: worker.cxx // make: mpicxx master.cxx -o master // make: mpicxx worker.cxx -o worker #include #include #include int main() int main() { { MPI::Init(); MPI::Init(); int N; double PI; int N = 100; double PI = 0.0; MPI::Intercomm master = const char cmd[] = "worker"; MPI::Comm::Get_parent(); const char* args[] = { 0 }; int np = master.Get_size(); MPI::Intracomm master = int ip = master.Get_rank(); master.Bcast(&N, 1, MPI_INT, 0); MPI::COMM_SELF; MPI::Intercomm worker = double h = 1.0 / (double) N; master.Spawn(cmd, args, 5, double s = 0.0; MPI_INFO_NULL, 0, for (int i=ip; i 0 : J = I-n; A[I,J] = offdx if i< m-1: J = I+n; A[I,J] = offdx if j> 0 : J = I-1; A[I,J] = offdy if j< n-1: J = I+1; A[I,J] = offdy # communicate off-processor values # and setup internal data structures # for performing parallel operations A.assemblyBegin() A.assemblyEnd()

Figure 15. Assembling a Sparse Matrix in Parallel.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

3.2.3.

Using Linear Solvers

PETSc for Python provides access to PETSc linear solvers and preconditioners through the KSP and PC classes. New KSP instances are obtained by calling the create() method; this call also creates automatically a companion inner preconditioner that can be retrieved with the getPC() method for further manipulations. The KSP and PC classes provide the setType() methods for the selection of a specific iterative method and preconditioning strategy. The setTolerances() method enable the specification of the different tolerances for declaring convergence; other algorithmic parameters can also be set. Additionally, PETSc for Python supports attaching user-defined Python function for monitoring the iterative process (by calling the setMonitor() method) and even define a custom convergence criteria (by calling the setConvergenceTest() method). KSP objects have to be associated with a matrix (i.e., a Mat instance) representing the operator of the linear problem and a (possibly different) matrix for defining the preconditioner. This is done by calling the setOperators() method. In order to actually solve a linear system of equations, the solve() method have to be called with appropriate vector arguments (i.e., a Vec instances) specifying the right hand side and the location where to build the solution. Figure 16 presents and example showing the minimal required steps for creating and configuring a linear solver and its companion preconditioner in PETSc for Python. This linear solver and preconditioner combination are employed for solving a linear system involving a previously assembled parallel sparse matrix (see figure 15).

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

MPI and PETSc for Python # create linear solver, ksp = PETSc.KSP() ksp.create(PETSc.COMM_WORLD) # use conjugate gradients ksp.setType(’cg’) # and incomplete Cholesky ksp.getPC().setType(’icc’)

481

# obtain sol & rhs vectors x, b = A.getVecs() x.set(0) b.set(1) # and next solve ksp.setOperators(A) ksp.setFromOptions() ksp.solve(b, x)

Figure 16. Solving a Linear Problem in Parallel.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

3.2.4.

Using Nonlinear Solvers

PETSc for Python provides access to PETSc nonlinear solvers through the SNES class. New SNES instances are obtained by calling the create() method. This call also creates automatically a companion inner linear solver (i.e., a KSP instance) that can be retrieved with the getKSP() method for further manipulations. The setTolerances() method enable the specification of the different tolerances for declaring convergence; other algorithmic parameters can also be set. Additionally, PETSc for Python supports attaching user-defined Python functions for monitoring the iterative process (by calling the setMonitor() method) and even define a custom convergence criteria (by calling the setConvergenceTest() method). SNES objects have to be associated with two user-defined Python functions in charge of evaluating the nonlinear residual vector and the Jacobian matrix at each nonlinear iteration step. Those user routines can be set with the methods setFunction() and setJacobian(). In order to actually solve a nonlinear system of equations, the solve() method have to be called with appropriate vector arguments (i.e., a Vec instances) specifying an optional right hand side (usually not provided as it is the zero vector) and the location where to build the solution (which additionally can specify an initial guess for starting the nonlinear loop). Consider the following boundary value problem in two dimensions: −∆U (x) = α exp[U (x)], x ∈ Ω, U (x) = 0,

x ∈ ∂Ω;

where Ω is the unit square (0, 1)2 and ∂Ω is the boundary, ∆ is the two-dimensional Laplace operator, and U is a scalar field defined on Ω, and α is a constant. The equation is nonlinear and usually called the Bratu problem. As α approaches the limit αF K ≈ 6.80812 (the Frank-Kamenetskii parameter) the non-linearity of the problem increases; beyond that limit there is no solution. For the sake of simplicity, assume that finite differences with the standard 5-point stencil are employed for performing a spatial discretization on structured, regularly spaced grid. As the result of the discretization process, a discrete system of nonlinear equations is obtained. Figure 17 presents two possible (sequential) implementations of the nonlinear residual function F (x) = −∆U (x) − α exp[U (x)] for the Bratu problem. The Python implementation in figure 17(a) takes advantage of multi-dimensional array processing facilities of NumPy arrays. The Fortran 90 implementation in figure 17(b) takes advantage of multidimensional Fortran 90 arrays and array pointers; it can be easily made available to Python

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

482

Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti et al.

codes by using F2Py interface generator. Both implementations are almost identical regarding syntax and semantics. Of course, the Fortran one is expected to execute faster. In figure 18, the Python/NumPy implementation of the nonlinear residual function in figure 17(a) is employed for solving the Bratu problem by using a PETSc nonlinear solver through PETSc for Python. The inner Krylov linear solver is configured to use conjugate gradient method. Additionally, the nonlinear solver is configured to use a matrix-free method.

3.3.

Efficiency Tests

In the context of scientific computing, Python is commonly used as glue language for interconnecting different pieces of codes written in compiled languages like C, C++ and Fortran. By using this approach, complex scientific applications can take advantage of the best features of both worlds: the convenient, high-level programming environment of Python and the efficiency of compiled languages for numerically intensive computations. This section presents some efficiency tests targeted to measure the overhead of accessing PETSc functionalities through PETSc for Python. The overhead is determined by comparing the wall-clock running time of equivalent driving codes implemented in Python and C. Both codes employ PETSc iterative linear solvers and an auxiliary Fortran routine in charge of performing application-specific computations. The actual application deals with the numerical solution of a model linear partial differential equation using Krylov-based iterative linear solvers in combination with matrix-free techniques. 3.3.1.

The Poisson Problem

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Consider the following Poisson problem in three dimensions equipped with homogeneous boundary conditions: −∆φ = 1 on Ω, φ = 0 at Γ; where Ω is the unit box (0, 1)3 and Γ is the entire box boundary, ∆ is the three-dimensional Laplace operator, and φ is a scalar field defined on Ω. From the many discretization methods suitable for the above problem, finite differences is the chosen one; this method can be easily and efficiency implemented in Fortran 90 with a few lines of code. Thus, the spatial discretization is performed with finite differences using the standard 7-points stencil on a structured, regularly spaced grid. For the sake of simplicity, the discrete grid is assumed to have the same number of nodes on each of its three directions. For a given discrete grid having n + 2 points in each direction, a system of linear equations with n3 equations and n3 unknowns is obtained. The associated discrete linear operator is symmetric and positive definite. 3.3.2.

A Matrix-Free Approach for the Linear Problem

The system of linear equations arising from the spatial discretization can be approximately solved by using Krylov-based iterative methods. Those methods are suitable for Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

MPI and PETSc for Python # file: bratu2dnpy.py

483

! file: bratu2dlib.f90 ! to build a Python module, use this: ! $$ f2py -m bratu2dlib -c bratu2dlib.f90

def bratu2d(alpha, x, f): # get ’exp’ from numpy subroutine bratu2d (m, n, alpha, x, f) from numpy import exp !f2py intent(hide) :: m = shape(x,0) # setup 5-points stencil !f2py intent(hide) :: n = shape(x,1) u = x[1:-1, 1:-1] # center integer uN = x[1:-1, :-2] # north :: m, n real(kind=8) :: alpha uS = x[1:-1, 2: ] # south real(kind=8), intent(in), target :: x(m,n) uW = x[ :-2, 1:-1] # west real(kind=8), intent(inout) :: f(m,n) uE = x[2:, 1:-1] # east real(kind=8) :: hx, hy # compute nonlinear function real(kind=8), pointer, & nx, ny = x.shape dimension(:,:) :: u, uN, uS, uE, uW hx = 1.0/(nx-1) # x grid spacing ! setup 5-points stencil hy = 1.0/(ny-1) # y grid spacing u => x(2:m-1, 2:n-1) ! center f[:,:] = x uN => x(2:m-1, 1:n-2) ! north f[1:-1, 1:-1] = \ uS => x(2:m-1, 3:n ) ! south (2*u - uE - uW) * (hy/hx) \ uW => x(1:m-2, 2:n-1) ! west + (2*u - uN - uS) * (hx/hy) \ uE => x(3:m, 2:n-1) ! east - alpha * exp(u) * (hx*hy) (a) Python/NumPy version ! compute nonlinear function hx = 1.0/(m-1) ! x grid spacing hy = 1.0/(n-1) ! y grid spacing f(:,:) = x f(2:m-1, 2:n-1) = & (2*u - uE - uW) * (hy/hx) & + (2*u - uN - uS) * (hx/hy) & - alpha * exp(u) * (hx*hy) end subroutine bratu2d

(b) Fortran 90 version

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

Figure 17. Nonlinear Residual Function for the Bratu Problem.

from petsc4py import PETSc from bratu2dnpy import bratu2d # # # #

this user class is an application context for the nonlinear problem at hand; it contains some parametes and knows how to compute residuals

class Bratu2D: def __init__(self, nx, ny, alpha): self.nx = nx # x grid size self.ny = ny # y grid size self.alpha = alpha self.compute = bratu2d

def evalFunction(self, snes, X, F): nx, ny = self.nx, self.ny alpha = self.alpha x = X[...].reshape(nx, ny) f = F[...].reshape(nx, ny) self.compute(alpha, x, f)

# create application context # and nonlinear solver nx, ny = 32, 32 # grid sizes alpha = 6.8 appd = Bratu2D(nx, ny, alpha) snes = PETSc.SNES().create() # register the function in charge of # computing the nonlinear residual f = PETSc.Vec().createSeq(nx*ny) snes.setFunction(appd.evalFunction, f) # configure the nonlinear solver # to use a matrix-free Jacobian snes.setUseMF(True) snes.getKSP().setType(’cg’) snes.setFromOptions() # solve the nonlinear problem b, x = None, f.duplicate() x.set(0) # zero inital guess snes.solve(b, x)

Figure 18. Solving a Nonlinear Problem with Matrix-Free Jacobians.

Computational Mechanics Research Trends, Nova Science Publishers, Incorporated, 2010. ProQuest Ebook Central,

484

Lisandro D. Dalc´ın, Pablo A. Kler, Mario A. Storti et al.

Copyright © 2010. Nova Science Publishers, Incorporated. All rights reserved.

employing matrix-free representations of linear operators. In matrix-free techniques, the entries of the linear system matrix are not explicitly stored. Instead, the linear operator is implicitly defined by its action on a given input vector. Figure 19 shows the complete implementation of a matrix-free linear operator for the problem at hand. In figure 19(b), the auxiliary Fortran code implements a routine in charge of computing the action of the (negative) discrete Laplacian. This implementation takes advantage of multi-dimensional array processing; a careful look reveals that an auxiliary input array is being employed in order to simplify the handling of boundary conditions. This routine is easily made available to Python by using F2Py. In figure 19(a), a Python class implements some selected methods of the generic interface for user-defined linear operators. The mult() method receives the input and output vectors and calls the previously discussed Fortran routine in order to actually compute the action of the discrete Laplace operator. Other two additional methods are also implemented: multTranspose() and getDiagonal(). Figure 20 shows how the previous codes are combined in order to actually solve the linear system of equations. A shell PETSc matrix is created with appropriate row and column sizes. This matrix is associated with an instance of the user-defined matrix class previously implemented as shown in figure 19. From the matrix object, appropriately sized vectors for storing the solution and right hand side are obtained; all right hand side vector entries are set to one. Next, a PETSc linear solver is created and configured to use conjugate gradients with no preconditioner. Finally, the linear system of equations is solved and the solution vector is scaled in order to account for the grid spacing. # file: del2mat.py

! file: del2lib.f90

from numpy import zeros from del2lib import del2apply

! to build a Python module, use this: ! $$ f2py -m del2lib -c del2lib.f90

class Del2Mat:

subroutine del2apply (n, F, x, y)

def __init__(self, n): self.N = (n, n, n) self.F = zeros([n+2]*3, order=’f’) def mult(self, x, y): "y