Elements of Scientific Computing


Book Description

Science used to be experiments and theory, now it is experiments, theory and computations. The computational approach to understanding nature and technology is currently flowering in many fields such as physics, geophysics, astrophysics, chemistry, biology, and most engineering disciplines. This book is a gentle introduction to such computational methods where the techniques are explained through examples. It is our goal to teach principles and ideas that carry over from field to field. You will learn basic methods and how to implement them. In order to gain the most from this text, you will need prior knowledge of calculus, basic linear algebra and elementary programming.




Handbook of Research on Computational Science and Engineering: Theory and Practice


Book Description

By using computer simulations in research and development, computational science and engineering (CSE) allows empirical inquiry where traditional experimentation and methods of inquiry are difficult, inefficient, or prohibitively expensive. The Handbook of Research on Computational Science and Engineering: Theory and Practice is a reference for interested researchers and decision-makers who want a timely introduction to the possibilities in CSE to advance their ongoing research and applications or to discover new resources and cutting edge developments. Rather than reporting results obtained using CSE models, this comprehensive survey captures the architecture of the cross-disciplinary field, explores the long term implications of technology choices, alerts readers to the hurdles facing CSE, and identifies trends in future development.




Software Engineering for Science


Book Description

Software Engineering for Science provides an in-depth collection of peer-reviewed chapters that describe experiences with applying software engineering practices to the development of scientific software. It provides a better understanding of how software engineering is and should be practiced, and which software engineering practices are effective for scientific software. The book starts with a detailed overview of the Scientific Software Lifecycle, and a general overview of the scientific software development process. It highlights key issues commonly arising during scientific software development, as well as solutions to these problems. The second part of the book provides examples of the use of testing in scientific software development, including key issues and challenges. The chapters then describe solutions and case studies aimed at applying testing to scientific software development efforts. The final part of the book provides examples of applying software engineering techniques to scientific software, including not only computational modeling, but also software for data management and analysis. The authors describe their experiences and lessons learned from developing complex scientific software in different domains. About the Editors Jeffrey Carver is an Associate Professor in the Department of Computer Science at the University of Alabama. He is one of the primary organizers of the workshop series on Software Engineering for Science (http://www.SE4Science.org/workshops). Neil P. Chue Hong is Director of the Software Sustainability Institute at the University of Edinburgh. His research interests include barriers and incentives in research software ecosystems and the role of software as a research object. George K. Thiruvathukal is Professor of Computer Science at Loyola University Chicago and Visiting Faculty at Argonne National Laboratory. His current research is focused on software metrics in open source mathematical and scientific software.




Introduction to Computational Science


Book Description

The essential introduction to computational science—now fully updated and expanded Computational science is an exciting new field at the intersection of the sciences, computer science, and mathematics because much scientific investigation now involves computing as well as theory and experiment. This textbook provides students with a versatile and accessible introduction to the subject. It assumes only a background in high school algebra, enables instructors to follow tailored pathways through the material, and is the only textbook of its kind designed specifically for an introductory course in the computational science and engineering curriculum. While the text itself is generic, an accompanying website offers tutorials and files in a variety of software packages. This fully updated and expanded edition features two new chapters on agent-based simulations and modeling with matrices, ten new project modules, and an additional module on diffusion. Besides increased treatment of high-performance computing and its applications, the book also includes additional quick review questions with answers, exercises, and individual and team projects. The only introductory textbook of its kind—now fully updated and expanded Features two new chapters on agent-based simulations and modeling with matrices Increased coverage of high-performance computing and its applications Includes additional modules, review questions, exercises, and projects An online instructor's manual with exercise answers, selected project solutions, and a test bank and solutions (available only to professors) An online illustration package is available to professors




Insight Through Computing


Book Description

An introduction to computer-based problem-solving using the MATLAB® environment for undergraduates.




Verification of Computer Codes in Computational Science and Engineering


Book Description

How can one be assured that computer codes that solve differential equations are correct? Standard practice using benchmark testing no longer provides full coverage because today's production codes solve more complex equations using more powerful algorithms. By verifying the order-of-accuracy of the numerical algorithm implemented in the code, one can detect most any coding mistake that would prevent correct solutions from being computed. Verification of Computer Codes in Computational Science and Engineering sets forth a powerful alternative called OVMSP: Order-Verification via the Manufactured Solution Procedure. This procedure has two primary components: using the Method of Manufactured Exact Solutions to create analytic solutions to the fully-general differential equations solved by the code and using grid convergence studies to confirm the order-of-accuracy. The authors present a step-by-step procedural guide to OVMSP implementation and demonstrate its effectiveness. Properly implemented, OVMSP offers an exciting opportunity to identify virtually all coding 'bugs' that prevent correct solution of the governing partial differential equations. Verification of Computer Codes in Computational Science and Engineering shows you how this can be done. The treatment is clear, concise, and suitable both for developers of production quality simulation software and as a reference for computational science and engineering professionals.




Cloud Computing for Science and Engineering


Book Description

A guide to cloud computing for students, scientists, and engineers, with advice and many hands-on examples. The emergence of powerful, always-on cloud utilities has transformed how consumers interact with information technology, enabling video streaming, intelligent personal assistants, and the sharing of content. Businesses, too, have benefited from the cloud, outsourcing much of their information technology to cloud services. Science, however, has not fully exploited the advantages of the cloud. Could scientific discovery be accelerated if mundane chores were automated and outsourced to the cloud? Leading computer scientists Ian Foster and Dennis Gannon argue that it can, and in this book offer a guide to cloud computing for students, scientists, and engineers, with advice and many hands-on examples. The book surveys the technology that underpins the cloud, new approaches to technical problems enabled by the cloud, and the concepts required to integrate cloud services into scientific work. It covers managing data in the cloud, and how to program these services; computing in the cloud, from deploying single virtual machines or containers to supporting basic interactive science experiments to gathering clusters of machines to do data analytics; using the cloud as a platform for automating analysis procedures, machine learning, and analyzing streaming data; building your own cloud with open source software; and cloud security. The book is accompanied by a website, Cloud4SciEng.org, that provides a variety of supplementary material, including exercises, lecture slides, and other resources helpful to readers and instructors.




Computational Science and Engineering


Book Description

Encompasses the full range of computational science and engineering from modelling to solution, both analytical and numerical. It develops a framework for the equations and numerical methods of applied mathematics. Gilbert Strang has taught this material to thousands of engineers and scientists (and many more on MIT's OpenCourseWare 18.085-6). His experience is seen in his clear explanations, wide range of examples, and teaching method. The book is solution-based and not formula-based: it integrates analysis and algorithms and MATLAB codes to explain each topic as effectively as possible. The topics include applied linear algebra and fast solvers, differential equations with finite differences and finite elements, Fourier analysis and optimization. This book also serves as a reference for the whole community of computational scientists and engineers. Supporting resources, including MATLAB codes, problem solutions and video lectures from Gilbert Strang's 18.085 courses at MIT, are provided at math.mit.edu/cse.




Computational Problems in Science and Engineering


Book Description

This book provides readers with modern computational techniques for solving variety of problems from electrical, mechanical, civil and chemical engineering. Mathematical methods are presented in a unified manner, so they can be applied consistently to problems in applied electromagnetics, strength of materials, fluid mechanics, heat and mass transfer, environmental engineering, biomedical engineering, signal processing, automatic control and more.




Advanced Computational Methods in Science and Engineering


Book Description

The aim of the present book is to show, in a broad and yet deep way, the state of the art in computational science and engineering. Examples of topics addressed are: fast and accurate numerical algorithms, model-order reduction, grid computing, immersed-boundary methods, and specific computational methods for simulating a wide variety of challenging problems, problems such as: fluid-structure interaction, turbulent flames, bone-fracture healing, micro-electro-mechanical systems, failure of composite materials, storm surges, particulate flows, and so on. The main benefit offered to readers of the book is a well-balanced, up-to-date overview over the field of computational science and engineering, through in-depth articles by specialists from the separate disciplines.