Author: Michael Metcalf
Publisher: Oxford University Press
Release Date: 2018-08-23
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard - Fortran 2018 - includes many additions and improvements. This edition of Modern Fortran Explained expands on the last. Given the release of updated versions of Fortran compilers, the separate descriptions of Fortran 2003 and Fortran 2008 have been incorporated into the main text, which thereby becomes a unified description of the full Fortran 2008 version of the language. This clearer standard has allowed many deficiencies and irregularities in the earlier language versions to be resolved. Four new chapters describe the additional features of Fortran 2018, with its enhancements to coarrays for parallel programming, interoperability with C, IEEE arithmetic, and various other improvements. Written by leading experts in the field, two of whom have actively contributed to Fortran 2018, this is a complete and authoritative description of Fortran in its latest form. It is intended for new and existing users of the language, and for all those involved in scientific and numerical computing. It is suitable as a textbook for teaching and, with its index, as a handy reference for practitioners.
A clear and thorough description of the latest versions of Fortran by leading experts in the field. It is intended for new and existing users of the language, and for all those involved in scientific and numerical computing. It is suitable as a textbook for teaching and as a handy reference for practitioners.
Author: Richard J. Hanson
Release Date: 2013-11-21
The Fortran language standard has undergone significant upgrades in recent years (1990, 1995, 2003, and 2008). Numerical Computing with Modern Fortran illustrates many of these improvements through practical solutions to a number of scientific and engineering problems. Readers will discover techniques for modernizing algorithms written in Fortran; examples of Fortran interoperating with C or C++ programs, plus using the IEEE floating-point standard for efficiency; illustrations of parallel Fortran programming using coarrays, MPI, and OpenMP; and a supplementary website with downloadable source codes discussed in the book.
Author: Norman S. Clerman
Publisher: Cambridge University Press
Release Date: 2011-12-05
Fortran is one of the oldest high-level languages and remains the premier language for writing code for science and engineering applications. This book is for anyone who uses Fortran, from the novice learner to the advanced expert. It describes best practices for programmers, scientists, engineers, computer scientists and researchers who want to apply good style and incorporate rigorous usage in their own Fortran code or to establish guidelines for a team project. The presentation concentrates primarily on the characteristics of Fortran 2003, while also describing methods in Fortran 90/95 and valuable new features in Fortran 2008. The authors draw on more than a half century of experience writing production Fortran code to present clear succinct guidelines on formatting, naming, documenting, programming and packaging conventions and various programming paradigms such as parallel processing (including OpenMP, MPI and coarrays), OOP, generic programming and C language interoperability.
Author: Arjen Markus
Publisher: Cambridge University Press
Release Date: 2012-06-18
From its earliest days, the Fortran programming language has been designed with computing efficiency in mind. The latest standard, Fortran 2008, incorporates a host of modern features, including object-orientation, array operations, user-defined types, and provisions for parallel computing. This tutorial guide shows Fortran programmers how to apply these features in twenty-first-century style: modular, concise, object-oriented, and resource-efficient, using multiple processors. It offers practical real-world examples of interfacing to C, memory management, graphics and GUIs, and parallel computing using MPI, OpenMP, and coarrays. The author also analyzes several numerical algorithms and their implementations and illustrates the use of several open source libraries. Full source code for the examples is available on the book's website.
Author: Jeanne C. Adams
Publisher: MIT Press
Release Date: 1997
The Fortran 95 Handbook, a comprehensive reference work for the Fortran programmer and implementor, contains a complete description of the Fortran 95 programming language. The chapters follow the same sequence of topics as the Fortran 95 standard, but contain a more thorough and informal explanation of the language's features and many more examples. Appendices describe all the intrinsic features, the deprecated features, and the complete syntax of the language. The Handbook also includs a feature not found in the standard: a cross reference of all the syntax terms, giving the rule that defines each term and all the rules that reference it. Major new features added in Fortran 95 are the 'FORALL' statement and construct, pure and elemental procedures, and structure and pointer default initialization.
Author: George Em Karniadakis
Publisher: Cambridge University Press
Release Date: 2003-06-16
Numerical algorithms, modern programming techniques, and parallel computing are often taught serially across different courses and different textbooks. The need to integrate concepts and tools usually comes only in employment or in research - after the courses are concluded - forcing the student to synthesise what is perceived to be three independent subfields into one. This book provides a seamless approach to stimulate the student simultaneously through the eyes of multiple disciplines, leading to enhanced understanding of scientific computing as a whole. The book includes both basic as well as advanced topics and places equal emphasis on the discretization of partial differential equations and on solvers. Some of the advanced topics include wavelets, high-order methods, non-symmetric systems, and parallelization of sparse systems. The material covered is suited to students from engineering, computer science, physics and mathematics.
The authors analyze how the structure of a package determines its developmental complexity according to such measures as bug search times and documentation information content. The work presents arguments for why these issues impact solution cost and time more than does scalable performance. The final chapter explores the question of scalable execution and shows how scalable design relates to scalable execution. The book's focus is on program organization, which has received considerable attention in the broader software engineering community, where graphical description standards for modeling software structure and behavior have been developed by computer scientists. These discussions might be enriched by engineers who write scientific codes. This book aims to bring such scientific programmers into discussion with computer scientists. The authors do so by introducing object-oriented software design patterns in the context of scientific simulation.
Author: Brian D. Hahn
Release Date: 1994
The introduction of the Fortran 90 standard is the first significant change in the Fortran language in over 20 years. this book is designed for anyone wanting to learn Fortran for the first time or or a programmer who needs to upgrade from Fortran 77 to Fortran 90. Employing a practical, problem-based approach this book provides a comprehensive introduction to the language. More experienced programmers will find it a useful update to the new standard and will benefit from the emphasis on science and engineering applications.
Author: T. M. R. Ellis
Publisher: Addison Wesley Publishing Company
Release Date: 1994
Offering a clear tutorial guide for the new Fortran 90 language, this book highlights Fortran 90's role as a powerful tool for problem-solving in engineering and science. Having been involved in the development of the new standard, the authors provide (as a bonus) an inside perspective on the design rationale behind the major features of Fortran 90.Features comprehensive coverage of all the major language features, with clear guidelines on the differences between the 77 and 90 standards case studies illustrating its applications in scientific problem-solving two authoritative chapters in coding numerical methods in Fortran 90 an early introduction to procedures and modules to encourage a structural approach to programming 0201544466B04062001
Author: Howard C. Elman
Publisher: Oxford University Press
Release Date: 2014
This book is a description of why and how to do Scientific Computing for fundamental models of fluid flow. It contains introduction, motivation, analysis, and algorithms and is closely tied to freely available MATLAB codes that implement the methods described. The focus is on finite element approximation methods and fast iterative solution methods for the consequent linear(ized) systems arising in important problems that model incompressible fluid flow. The problems addressed are the Poisson equation, Convection-Diffusion problem, Stokes problem and Navier-Stokes problem, including new material on time-dependent problems and models of multi-physics. The corresponding iterative algebra based on preconditioned Krylov subspace and multigrid techniques is for symmetric and positive definite, nonsymmetric positive definite, symmetric indefinite and nonsymmetric indefinite matrix systems respectively. For each problem and associated solvers there is a description of how to compute together with theoretical analysis that guides the choice of approaches and describes what happens in practice in the many illustrative numerical results throughout the book (computed with the freely downloadable IFISS software). All of the numerical results should be reproducible by readers who have access to MATLAB and there is considerable scope for experimentation in the "computational laboratory" provided by the software. Developments in the field since the first edition was published have been represented in three new chapters covering optimization with PDE constraints (Chapter 5); solution of unsteady Navier-Stokes equations (Chapter 10); solution of models of buoyancy-driven flow (Chapter 11). Each chapter has many theoretical problems and practical computer exercises that involve the use of the IFISS software. This book is suitable as an introduction to iterative linear solvers or more generally as a model of Scientific Computing at an advanced undergraduate or beginning graduate level.
CUDA Fortran for Scientists and Engineers shows how high-performance application developers can leverage the power of GPUs using Fortran, the familiar language of scientific computing and supercomputer performance benchmarking. The authors presume no prior parallel computing experience, and cover the basics along with best practices for efficient GPU computing using CUDA Fortran. To help you add CUDA Fortran to existing Fortran codes, the book explains how to understand the target GPU architecture, identify computationally intensive parts of the code, and modify the code to manage the data and parallelism and optimize performance. All of this is done in Fortran, without having to rewrite in another language. Each concept is illustrated with actual examples so you can immediately evaluate the performance of your code in comparison. Leverage the power of GPU computing with PGI’s CUDA Fortran compiler Gain insights from members of the CUDA Fortran language development team Includes multi-GPU programming in CUDA Fortran, covering both peer-to-peer and message passing interface (MPI) approaches Includes full source code for all the examples and several case studies Download source code and slides from the book's companion website
Author: James F. Kerrigan
Release Date: 1993
This book is a practical guide to Fortran 90 for the current programmer. It provides a complete overview of the new features that Fortran 90 has brought to the Fortran standard, with examples and suggestions for use. Topics include array sections, modules, file handling, allocatable arrays and pointers, and numeric precision.
The book serves as a first introduction to computer programming of scientific applications, using the high-level Python language. The exposition is example and problem-oriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology and finance. The book teaches "Matlab-style" and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and numerical one-variable calculus in parallel with reading this book. Besides learning how to program computers, the reader will also learn how to solve mathematical problems, arising in various branches of science and engineering, with the aid of numerical methods and programming. By blending programming, mathematics and scientific applications, the book lays a solid foundation for practicing computational science. From the reviews: Langtangen ... does an excellent job of introducing programming as a set of skills in problem solving. He guides the reader into thinking properly about producing program logic and data structures for modeling real-world problems using objects and functions and embracing the object-oriented paradigm. ... Summing Up: Highly recommended. F. H. Wild III, Choice, Vol. 47 (8), April 2010 Those of us who have learned scientific programming in Python ‘on the streets’ could be a little jealous of students who have the opportunity to take a course out of Langtangen’s Primer.” John D. Cook, The Mathematical Association of America, September 2011 This book goes through Python in particular, and programming in general, via tasks that scientists will likely perform. It contains valuable information for students new to scientific computing and would be the perfect bridge between an introduction to programming and an advanced course on numerical methods or computational science. Alex Small, IEEE, CiSE Vol. 14 (2), March /April 2012 “This fourth edition is a wonderful, inclusive textbook that covers pretty much everything one needs to know to go from zero to fairly sophisticated scientific programming in Python...” Joan Horvath, Computing Reviews, March 2015