|
Showing 1 - 23 of
23 matches in All Departments
This textbook teaches finite element methods from a computational
point of view. It focuses on how to develop flexible computer
programs with Python, a programming language in which a combination
of symbolic and numerical tools is used to achieve an explicit and
practical derivation of finite element algorithms. The finite
element library FEniCS is used throughout the book, but the content
is provided in sufficient detail to ensure that students with less
mathematical background or mixed programming-language experience
will equally benefit. All program examples are available on the
Internet.
This book is published open access under a CC BY 4.0 license. This
book presents computer programming as a key method for solving
mathematical problems. This second edition of the well-received
book has been extensively revised: All code is now written in
Python version 3.6 (no longer version 2.7). In addition, the two
first chapters of the previous edition have been extended and split
up into five new chapters, thus expanding the introduction to
programming from 50 to 150 pages. Throughout the book, the
explanations provided are now more detailed, previous examples have
been modified, and new sections, examples and exercises have been
added. Also, a number of small errors have been corrected. The book
was inspired by the Springer book TCSE 6: A Primer on Scientific
Programming with Python (by Langtangen), but the style employed is
more accessible and concise, in keeping with the needs of
engineering students. The book outlines the shortest possible path
from no previous experience with programming to a set of skills
that allows students to write simple programs for solving common
mathematical problems with numerical methods in the context of
engineering and science courses. The emphasis is on generic
algorithms, clean program design, the use of functions, and
automatic tests for verification.
This book is open access under a CC BY 4.0 license. This
easy-to-read book introduces the basics of solving partial
differential equations by means of finite difference methods.
Unlike many of the traditional academic works on the topic, this
book was written for practitioners. Accordingly, it especially
addresses: the construction of finite difference schemes,
formulation and implementation of algorithms, verification of
implementations, analyses of physical behavior as implied by the
numerical solutions, and how to apply the methods and software to
solve problems in the fields of physics and biology.
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.
This book presents computer programming as a key method for solving
mathematical problems. There are two versions of the book, one for
MATLAB and one for Python. The book was inspired by the Springer
book TCSE 6: A Primer on Scientific Programming with Python (by
Langtangen), but the style is more accessible and concise, in
keeping with the needs of engineering students. The book outlines
the shortest possible path from no previous experience with
programming to a set of skills that allows the students to write
simple programs for solving common mathematical problems with
numerical methods in engineering and science courses. The emphasis
is on generic algorithms, clean design of programs, use of
functions, and automatic tests for verification.
Looking back at the years that have passed since the realization of
the very first electronic, multi-purpose computers, one observes a
tremendous growth in hardware and software performance. Today,
researchers and engi neers have access to computing power and
software that can solve numerical problems which are not fully
understood in terms of existing mathemati cal theory. Thus,
computational sciences must in many respects be viewed as
experimental disciplines. As a consequence, there is a demand for
high quality, flexible software that allows, and even encourages,
experimentation with alternative numerical strategies and
mathematical models. Extensibil ity is then a key issue; the
software must provide an efficient environment for incorporation of
new methods and models that will be required in fu ture problem
scenarios. The development of such kind of flexible software is a
challenging and expensive task. One way to achieve these goals is
to in vest much work in the design and implementation of generic
software tools which can be used in a wide range of application
fields. In order to provide a forum where researchers could present
and discuss their contributions to the described development, an
International Work shop on Modern Software Tools for Scientific
Computing was arranged in Oslo, Norway, September 16-18, 1996. This
workshop, informally referred to as Sci Tools '96, was a
collaboration between SINTEF Applied Mathe matics and the
Departments of Informatics and Mathematics at the Uni versity of
Oslo."
With a primary focus on examples and applications of relevance
to computational scientists, this brilliantly useful book shows
computational scientists how to develop tailored, flexible, and
human-efficient working environments built from small scripts
written in the easy-to-learn, high-level Python language. All the
tools and examples in this book are open source codes. This third
edition features lots of new material. It is also released after a
comprehensive reorganization of the text. The author has inserted
improved examples and tools and updated information, as well as
correcting any errors that crept in to the first imprint.
This book is open access under a CC BY 4.0 license. This
easy-to-read book introduces the basics of solving partial
differential equations by means of finite difference methods.
Unlike many of the traditional academic works on the topic, this
book was written for practitioners. Accordingly, it especially
addresses: the construction of finite difference schemes,
formulation and implementation of algorithms, verification of
implementations, analyses of physical behavior as implied by the
numerical solutions, and how to apply the methods and software to
solve problems in the fields of physics and biology.
This text provides a very simple, initial introduction to the
complete scientific computing pipeline: models, discretization,
algorithms, programming, verification, and visualization. The
pedagogical strategy is to use one case study - an ordinary
differential equation describing exponential decay processes - to
illustrate fundamental concepts in mathematics and computer
science. The book is easy to read and only requires a command of
one-variable calculus and some very basic knowledge about computer
programming. Contrary to similar texts on numerical methods and
programming, this text has a much stronger focus on implementation
and teaches testing and software engineering in particular.
This book presents computer programming as a key method for solving
mathematical problems. There are two versions of the book, one for
MATLAB and one for Python. The book was inspired by the Springer
book TCSE 6: A Primer on Scientific Programming with Python (by
Langtangen), but the style is more accessible and concise, in
keeping with the needs of engineering students. The book outlines
the shortest possible path from no previous experience with
programming to a set of skills that allows the students to write
simple programs for solving common mathematical problems with
numerical methods in engineering and science courses. The emphasis
is on generic algorithms, clean design of programs, use of
functions, and automatic tests for verification.
This book presents computer programming as a key method for solving
mathematical problems. There are two versions of the book, one for
MATLAB and one for Python. The book was inspired by the Springer
book TCSE 6: A Primer on Scientific Programming with Python (by
Langtangen), but the style is more accessible and concise, in
keeping with the needs of engineering students. The book outlines
the shortest possible path from no previous experience with
programming to a set of skills that allows the students to write
simple programs for solving common mathematical problems with
numerical methods in engineering and science courses. The emphasis
is on generic algorithms, clean design of programs, use of
functions, and automatic tests for verification.
This book offers a concise and gentle introduction to finite
element programming in Python based on the popular FEniCS software
library. Using a series of examples, including the Poisson
equation, the equations of linear elasticity, the incompressible
Navier-Stokes equations, and systems of nonlinear
advection-diffusion-reaction equations, it guides readers through
the essential steps to quickly solving a PDE in FEniCS, such as how
to define a finite variational problem, how to set boundary
conditions, how to solve linear and nonlinear systems, and how to
visualize solutions and structure finite element Python programs.
This book is open access under a CC BY license.
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.
Looking back at the years that have passed since the realization of
the very first electronic, multi-purpose computers, one observes a
tremendous growth in hardware and software performance. Today,
researchers and engi neers have access to computing power and
software that can solve numerical problems which are not fully
understood in terms of existing mathemati cal theory. Thus,
computational sciences must in many respects be viewed as
experimental disciplines. As a consequence, there is a demand for
high quality, flexible software that allows, and even encourages,
experimentation with alternative numerical strategies and
mathematical models. Extensibil ity is then a key issue; the
software must provide an efficient environment for incorporation of
new methods and models that will be required in fu ture problem
scenarios. The development of such kind of flexible software is a
challenging and expensive task. One way to achieve these goals is
to in vest much work in the design and implementation of generic
software tools which can be used in a wide range of application
fields. In order to provide a forum where researchers could present
and discuss their contributions to the described development, an
International Work shop on Modern Software Tools for Scientific
Computing was arranged in Oslo, Norway, September 16-18, 1996. This
workshop, informally referred to as Sci Tools '96, was a
collaboration between SINTEF Applied Mathe matics and the
Departments of Informatics and Mathematics at the Uni versity of
Oslo."
With a primary focus on examples and applications of relevance
to computational scientists, this brilliantly useful book shows
computational scientists how to develop tailored, flexible, and
human-efficient working environments built from small scripts
written in the easy-to-learn, high-level Python language. All the
tools and examples in this book are open source codes. This third
edition features lots of new material. It is also released after a
comprehensive reorganization of the text. The author has inserted
improved examples and tools and updated information, as well as
correcting any errors that crept in to the first imprint.
A gentle introduction to advanced topics such as parallel computing, multigrid methods, and special methods for systems of PDEs. The goal of all chapters is to ‘compute’ solutions to problems, hence algorithmic and software issues play a central role. All software examples use the Diffpack programming environment - some experience with Diffpack is required. There are also some chapters covering complete applications, i.e., the way from a model, expressed as systems of PDEs, through to discretization methods, algorithms, software design, verification, and computational examples. Suitable for readers with a background in basic finite element and finite difference methods for partial differential equations.
This text provides a very simple, initial introduction to the
complete scientific computing pipeline: models, discretization,
algorithms, programming, verification, and visualization. The
pedagogical strategy is to use one case study - an ordinary
differential equation describing exponential decay processes - to
illustrate fundamental concepts in mathematics and computer
science. The book is easy to read and only requires a command of
one-variable calculus and some very basic knowledge about computer
programming. Contrary to similar texts on numerical methods and
programming, this text has a much stronger focus on implementation
and teaches testing and software engineering in particular.
This textbook teaches finite element methods from a computational
point of view. It focuses on how to develop flexible computer
programs with Python, a programming language in which a combination
of symbolic and numerical tools is used to achieve an explicit and
practical derivation of finite element algorithms. The finite
element library FEniCS is used throughout the book, but the content
is provided in sufficient detail to ensure that students with less
mathematical background or mixed programming-language experience
will equally benefit. All program examples are available on the
Internet.
The book serves both as a reference for various scaled models with
corresponding dimensionless numbers, and as a resource for learning
the art of scaling. A special feature of the book is the emphasis
on how to create software for scaled models, based on existing
software for unscaled models. Scaling (or non-dimensionalization)
is a mathematical technique that greatly simplifies the setting of
input parameters in numerical simulations. Moreover, scaling
enhances the understanding of how different physical processes
interact in a differential equation model. Compared to the existing
literature, where the topic of scaling is frequently encountered,
but very often in only a brief and shallow setting, the present
book gives much more thorough explanations of how to reason about
finding the right scales. This process is highly problem dependent,
and therefore the book features a lot of worked examples, from very
simple ODEs to systems of PDEs, especially from fluid mechanics.
The text is easily accessible and example-driven. The first part on
ODEs fits even a lower undergraduate level, while the most advanced
multiphysics fluid mechanics examples target the graduate level.
The scientific literature is full of scaled models, but in most of
the cases, the scales are just stated without thorough mathematical
reasoning. This book explains how the scales are found
mathematically. This book will be a valuable read for anyone doing
numerical simulations based on ordinary or partial differential
equations.
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
|
You may like...
Loot
Nadine Gordimer
Paperback
(2)
R383
R318
Discovery Miles 3 180
Loot
Nadine Gordimer
Paperback
(2)
R383
R318
Discovery Miles 3 180
|