Our book series explores a new approach to both research and education in computational science, bringing out simultaneously the science, arts and crafts aspects of research in the form of an the educational offering. The whole series, together with the corresponding software, will be presented on the web as an open source project. Others who share our enthusiasm are welcome to develop their own contributions. We sincerely hope that some of those will extend our approach both locally and globally: contributing modules to our problem at hand, in stellar dynamics, in stellar hydrodynamics and in stellar evolution; and starting new projects in other areas of astrophysics, indeed in other areas of science as a whole.
It would be our greatest reward to see others complement our approach. Given our emphasis on modularity and clear specification of interface protocols, each contributor will be pretty free in her or his choice of approach, from the type of computer language used to the style of programming (while hopefully adhering to the principle of least action, a principle that certainly allows many different ways to implement it). With a modest amount of care, it should not be hard to let a community of programmers and programs sprout up, servicing many different areas of science in a way that follows a similar spirit. In addition, an open source approach has proven to provide the best quality control.
As an added benefit, this may make it easier to explore new scientific questions, by combining existing modules from different disciplines, something that is currently all but impossible, given the different ideosyncracies in the various legacy codes in each discipline. We are in the process of setting up an open source framework for our book series and for the codes that go with it. Further developments will be announced regularly on our web site ArtCompSci.org.
In the current concise version of the first three volumes, we have
skipped a detailed explanation of many of the basic steps, such as
introductions and precise definitions of the concepts of physical
force and differential equations. By forging ahead quickly in that
way, we ourselves can get more of an idea of where we may be heading,
and we can get feedback from our readers and especially from students
who will actually attempt to learn computational science from our
series, and who are willing to start with a not-yet-complete product.
We therefore very much appreciate hearing from our readers what
they like in this volume and where they encounter difficulties
of which kind. We can be reached through email at the address
This book aims at three groups of readers. For scientists, it gives a
concrete example for setting up a full scientific simulation software
environment. Whether you are a biologist, physicist, psychologist, or
working in another area of science, many of the issues discussed here
will come up for you too, when you want to build a new software system,
or what is often more challenging, when you want to fully overhaul and
modernize an archaic existing system. Because our scientific example
has such a simple base, nothing more than Newton's laws of gravity, it
is easy to grasp the underlying physics, after which you can focus on
the complexity of managing a software laboratory.
The second target group of readers are computer scientists, and in
general everyone building complex software systems. While we apply
modern concepts such as the use of object-oriented languages and
design patterns, and notions such as extreme programming, our main
forte is that we fill a gap in the market, by providing a
complete discussion of the process of constructing a large-scale
software system. Our gamble here is that the music of the spheres may
attract an audience audacious enough to follow our cosmic exploration
through the various volumes in this series.
Readers in our third group neither work in natural science nor in
computer science. They are simply curious how a modern software
system is set up. For example, they may have read about the billions
of dollars that are lost because of late delivery of software, or
worse, delivery of faulty software. Perfectly functioning rockets
have been blown up because of glitches in complex software systems.
Newly built airports have experienced very costly delays, simply
because software for baggage transport was delivered a year late.
Perhaps you are an average user of the internet, and just curious
about what makes writing large software environments so hard. Perhaps
you are working in business or finance, and you are wondering whether
to invest in a software company. How are you going to judge the
soundness of the company's approach? Having a good look in the
kitchen will help. Even better, helping a hand as an apprentice in
the kitchen would be even better. This is exactly what this book offers.
We hope that our choice of topic, the do-it-yourself modeling of the
full ten-billion-year history of a dense star cluster, will be
rewarding. We offer you the controls of a state-of-the-art flight
simulator that will allow you to travel through the four-dimensional
space-time history of a star cluster. After zooming forwards or
backwards in time by a few billions of years, you will be able to
visit an interacting triple or quadruple system somewhere in the
history of the star cluster. Slowing down simulated time by a factor
of a trillion, you can watch the intricate and chaotic gravitational
dance of the three or four stars, moving around each other in a matter
of days. If you are lucky you may find a couple of neutron stars or
black holes among the interacting star group, but you will have to
slow down simulated time by yet another five to eight orders of
magnitude, since two neutron stars can pass by each other in matters
of milliseconds.
All of this and much more will be at your finger tips already through
half-way the series of books we are currently writing. You will be
able to use cutting-edge astrophysics research tools, together with
full access to every line of code. And if you have worked your way
through the books in this series, you will not only understand how the
whole system works, but you will also understand and appreciate the
motivation for every design and implementation decision. From that
point on, you will be in a position to extend the current system and
to engage in original scientific software design yourself. More
importantly, you will have a complete software environment to inspire
you if you want to set up your own virtual laboratory in your own
scientific discipline, or your preferred business environment.
Go back to Home page