• Keine Ergebnisse gefunden

3.3 A methodology for computer simulations

3.3.1 An example of a two-body system

Let me now introduce a concrete example. Let us suppose that a government agency wants to put a new satellite into orbit. The safest and cheapest way of doing this is by a running a computer simulation, observing the estimated behavior of the satellite, and building the real satellite following the specifications of the computer simulation. Despite its simplicity, the importance of the computer simulation is that it answers important questions about the target system. For instance, by running a simulation, scientists know what the expected trajectory of the satellite is given: a) the mass of the satellite, b) the mass of the planet, and c) the existing tidal stress between the planet and the satellite. Depending on the values of a), b), and c), the satellite might successfully orbit for a long time or crash into the planet. The cognitive insight that a computer simulation might provide about the target system is not a function of the simplicity of the problem, but rather an inherent virtue of these kinds of systems.

To illustrate this case, I make use of the example of an orbiting satellite under tidal stress as elaborated by Michael Woolfson and Geoffrey Pert.

From classical mechanics, we know the following facts:

A satellite in orbit around a planet is subjected to a tidal stress which stretches it along the direction of the radius vector. If the orbit is non-circular then the stress is variable and the satellite expands and contracts along the radius vector in a periodic fashion. Since the satellite will not be perfectly elastic there will be hysteresis effects and some of the mechanical energy will be converted into heat which is radiated away. The overall effect is that while the system as a whole is losing mechanical energy it must conserve angular momentum (Woolfson and Pert, 1999, 17-18).

The following set of equations are used for the scientific model:

For a planet of mass M and a satellite of mass m (⌧ M), in an orbit of semi-major axisa and eccentricity e, the total energy is

E = GM m

2a (3.1)

and the angular momentum is

H ={GM a(1 e2)}m (3.2)

Figure 3.1: The elliptical orbit of a satel-lite relative to the planet at one focus.

PointsqandQare the nearest and furthest points from the planet, respectively. (Woolf-son and Pert, 1999, 19)

Figure 3.2: The satellite is represented by three masses, each m/3, connected by springs each of the same unstrained length, l. (Woolfson and Pert, 1999, 19)

If E is to decrease, then a must become smaller; but if H is constant, then e must become smaller (that is to say, that the orbit must round off).

The quantity which remains constant isa(1 e2), thesemi-lactus rectum, which is indicated in Figure 3.1. The model we shall use to simulate this situation is shown in Figure 3.2. The planet is represented by a point mass, P, and the satellite by a distribution of three masses, each m/3, at positions S1, S2 and S3, forming an equilateral triangle when free of stress. The masses are connected, as shown, by springs, each of unstressed lengthl and the same spring constant, k. Thus a spring constantly stretched to a lengthl0 will exert an inward force

F =k(l0 l) (3.3)

Now, we also introduce a dissipative element into our system by making the force

dependent on the rate of expansion or contraction of the spring, giving the following force law:

F =k(l0 l) cdl0

dt (3.4)

where the force acts inwards at the two ends. It is the second term in Equation 3.4 which gives the simulation of the hysteresis losses in the satellite.

Thus described, this model represents the pattern of behavior ofall bodies (being satellites or otherwise) under tidal stress. The challenge now is to transform this model into a specification for a computer simulation. For this, there are two steps involved: the first step is to integrate this model into aspecification; the second step is to code the specification into analgorithm.

At the level of the specification, there are formal and non-formal techniques for transforming the model. As I stated in Section 2.2, formal transformations are carried out by using ‘specification languages,’ such as the Z notation, where the researcher can specify instructions, objects, types, equations, and so forth, for programming the algorithm. In addition to the formal machinery, non-formal and very effective techniques are used as well: tricks-of-the-trade, rules of thumb rooted in practitioners’ skills and abilities, and expert knowledge obtained by inter-disciplinary work are just a few techniques used in the design of any specification.

The algorithm, on the other hand, must code the specification for machine in-terpretation. For this, the programming of an algorithm is also partially guided by formal as well as non-formal methods. On the formal side, there is a host of languages specialized that ‘mediate’ between a specification and an algorithm, such as the Common Algebraic Specification Language (CASL), and the Vienna Devel-opment Method (VDM). Model checking is conceived as the branch in computer science that tests automatically whether an algorithm meets the required specifi-cation. On the non-formal side, the algorithm is exposed to similar techniques as the specification; namely, tricks-of-the-trade, know-how, and the like, all of which increase the confidence of the algorithm correctly coding the specification.

Thus described, the transformations of a theoretical model into a computer spec-ification, and the codification of the latter into an algorithm is a central aspect of the methodology of computer simulations. In addition, the algorithm must be im-plemented on the physical computer in order to render results (i.e., the computer process (see Section 2.4)). Such an implementation is only possible when the values in the initial and boundary conditions are filled out. Woolfson and Pert simulate with the following values:53

number of bodies =2

mass of the first body (planet) = 2x1024kg mass of satellite =3 x1022 kg

initial time step = 10s

total simulation time =125000 s body chosen as origin =1 tolerance = 100m

initial distance of satellite = 1x108 m unstretched length of spring =1 x106 m

initial eccentricity =0.6 (Woolfson and Pert, 1999, 20)

These values are chosen to give a reasonable computational time, initial distance from the planet, initial eccentricity, and so forth. In this vein, they single out one particular simulation and, therefore, one particular phenomenon. The interest for simulating this particular orbiting satellite lies, in part, in studying its behavior under certain conditions. For instance, one might want to see what happens if the mass of the planet increases. The simulation indicates that if the mass of the planet is similar to (or larger than) Jupiter’s (i.e., 1.8986 x 1027 kg), the satellite would collapse into it. Now, in the case that I described above, there is one interesting phenomenon that the simulation shows: using the set of initial and boundary condi-tions, the following spikes appear in the satellite’s orbital eccentricity (Figure 3.3).

The question, then, is why?

Figure 3.3: The orbital eccentricity as a function of time. (Woolfson and Pert, 1999, 20)

Figure 3.4: The lag and lead in the tidal bulge of the satellite give spin angular mo-mentum on approach and subtract it on re-cession. (Woolfson and Pert, 1999, 21)

3.3.1.1 A working conceptualization

The example of the satellite under tidal stress reveals some important facts about computer simulations, namely,

1. The specification and the algorithm provide cognitive access to the computer simulation. Modifications of any kind, as well as general understanding of the simulation, are only attainable through them.

2. The specification and the algorithm represent the behavior of all phenomena that fall within their domain. In the example above, they represent the be-havior of all two-body systems under tidal stress. Due to this representational capacity, I will refer to them jointly as the simulation model. A simulation model must be conceived of as a pen-and-paper unity, and in this sense must be capable of formal verification and validation. I reserve the term general computer simulation for the simulation model which has been implemented on the physical computer and whose initial and boundary conditions have not yet been set. This distinction becomes more relevant in Chapter 5.

3. When the values of the initial and boundary conditions of a general computer simulation are filled out, one computer simulation is instantiated and, there-fore, one phenomenon is singled out. I call this instantiated simulation the

particular computer simulation. In the example above, the phenomenon sin-gled out is a satellite whose orbital eccentricity describes the spikes in Figure 3.3. Only particular computer simulations can be implemented on the physical machine for rendering results.

With these facts in mind, I postulate the following working conceptualization of a computer simulation:

A computer simulation consists of two elements: a general computer simulation, which is the implementation of a simulation model on a digi-tal computer ready to be executed. The simulation model represents the general patterns of behavior of a target system, which can be ‘empirical,’

‘theoretical,’ or ‘data systems.’ A general computer simulation produces results when its initial and boundary conditions are filled out, creating in this way a particular computer simulation. A particular computer sim-ulation produces results by reckoning using stepwise ‘analytic methods,’

‘numerical analysis,’ or ‘stochastic techniques.’54

Unlike other philosophical literature, I do not need to postulate a workingdefinition for computer simulations since the above conceptualization is enough for showing their epistemic power.

Let me say that this working conceptualization is essentially an analytic step towards the general notion of ‘computer simulation,’ ‘computer simulation results,’

and similar terminology found in current literature, only necessary for my discussion of explanation. Thus, I see no need to change the terminology as long as the context is clear. In this vein, and unless the context requires, I will continue making use of the same terminology as found in current literature. It is not until Chapter 5, when I address the epistemic power of computer simulations, that I need these new terms. The reason for introducing new terminology lies in the differences between asimulation model and a general computer simulation which must be pointed out, such as the fact that the former is receptive to formal verification and validation, whereas the latter is not. Similarly, the notion of particular computer simulation emphasizes the fact that the initial and boundary conditions of the general computer simulation have been fulfilled, singling out one concrete simulation.