previous up next print clean
Next: CONCLUSIONS Up: Muir: CM Fortran Previous: Bugs

THE LINEAR LATTICE BOLTZMANN PROBLEM

It has been about four years since I last worked on my linear lattice Boltzmann stuff, and the Connection Machine seemed to offer me good reason to start up again. I now have a better understanding of anisotropy, and it became clear to me that I should be able to extend previous work in this area by myself (Muir, 1986, 1087a, 1987b) ind others (Sword, 1987, and Zhang, 1988) in three directions.
1.
Introduce heterogeneity both in velocity and impedance.
2.
Develop large-scale anisotropy from micro-heterogeneous isotropy.
3.
Extend the scalar, acoustic model to a vector, elastic one.
So far the full elastic automaton has eluded me, but velocity anisotropy is quite well understood, and an example forms the subject of my illustration.

Recall from previous reports, and particularly (Muir, 1987b) that at each timestep I do three things:

1.
Map the data field from conservation to Huygens coordinates.
2.
Scatter the 24 elements of the Huygens vectors to their respective next-nearest neighbours.
3.
Map the data field back from Huygens to conservation coordinates.
In Fortran 77 the first and third of these items would involve a nest of six DO loops. In CM Fortran they involve only two, and the first step looks like this:
      DO j = 1,24
        DO k = 1,5
          huygens(j,:,:,:,:) = huygens(j,:,:,:,:) + 
     +      ctoh(k,j)*conserve(k,:,:,:,:)
        END DO
      END DO
The scatter loop is equally impressive:
      DO j = 1,24
        huygens(j,:,:,:,:) = CSHIFT(CSHIFT(
     +    huygens(j,:,:,:,:),d1(j),s1(j)),d2(j),s2(j))
      END DO
where the d1(), d2(), s1(), s2() arrays point in the direction and sign of the required shift.The scatter code I show above is vanilla code, good for a homogeneous environment, but the heterogeneous code uses very similar constructs, and there is no loss in parallelism because it is heterogeneous. As an example of what the Connection Machine and Frame Buffer Display can do, the Figure in this paper shows the impulse response of a layered medium where there is a 2:1 velocity contrast but no impedance change between the layers.
previous up next print clean
Next: CONCLUSIONS Up: Muir: CM Fortran Previous: Bugs
Stanford Exploration Project
12/18/1997