Graphics Reference
In-Depth Information
(First solve
R
T
z
=
r
).
•
•
Copy
z
←
r
.
•
For
i
=0to
n −
1where
R
i,i
=0:
z
i
R
i,i
•
Set
z
i
←
.
•
Loop over
j>i
where
R
i,j
is stored:
•
Set
z
j
←
z
j
−
R
i,j
z
i
.
(Next solve
Rz
new
=
z
in place).
•
•
For
i
=
n
−
1downto0,where
R
i,i
=0:
•
Loop over
j>i
where
R
i,j
is stored:
•
Set
z
i
←
z
i
−
R
i,j
z
j
.
z
i
R
i,i
•
Set
z
i
←
.
Figure 11.3.
Applying the MIC(0) preconditioner in CSR format to get
z
=
(
R
T
R
)
−
1
r
.
and the modified factor from:
•
R
is upper triangular, and
R
i,j
= 0 wherever
A
i,j
=0,
(
R
T
R
)
i,j
=
A
i,j
•
wherever
A
i,j
=0with
i<j
(i.e. off the diagonal),
each row sum
j
(
R
T
R
)
i,j
matches the row sum
j
A
i,j
•
of
A
.
Without going into the picky but obvious details of using the format, Figure
11.2 presents pseudocode to construct
R
, with the same parameters as
before, and Figure 11.3 demonstrates how to apply the preconditioner by
solving with
R
and
R
T
.
11.5 Strong Coupling
Strong coupling has been most thoroughly worked out for the rigid body
case, with an inviscid fluid (just pressure); this is where we will end the
chapter. Let's work out the equations for the continuous case before pro-
ceeding to discretization.
First we'll define some notation for a rigid body:
X
the center of mass of the rigid body,
•
V
its translation velocity,
•