WEBVTT
00:00:00.040 --> 00:00:02.470
The following content is
provided under a Creative
00:00:02.470 --> 00:00:03.880
Commons license.
00:00:03.880 --> 00:00:06.920
Your support will help MIT
OpenCourseWare continue to
00:00:06.920 --> 00:00:10.570
offer high-quality educational
resources for free.
00:00:10.570 --> 00:00:13.470
To make a donation or view
additional materials from
00:00:13.470 --> 00:00:17.400
hundreds of MIT courses, visit
MIT OpenCourseWare at
00:00:17.400 --> 00:00:18.650
ocw.mit.edu.
00:00:21.110 --> 00:00:23.190
PROFESSOR: Ladies and gentlemen,
welcome to
00:00:23.190 --> 00:00:25.650
lecture number 9.
00:00:25.650 --> 00:00:28.450
In this lecture, I would like
to discuss with you the
00:00:28.450 --> 00:00:33.040
solution of equilibrium
equations in static analysis.
00:00:33.040 --> 00:00:38.330
In the earlier lectures, we
derived equations KU equals R.
00:00:38.330 --> 00:00:41.780
And we now have to solve
these equations for the
00:00:41.780 --> 00:00:45.370
displacements stored
in the vector U.
00:00:45.370 --> 00:00:48.640
This is an important phase of
the finite element analysis,
00:00:48.640 --> 00:00:52.000
because much of the
computational effort goes into
00:00:52.000 --> 00:00:54.430
the solution of these
equations.
00:00:54.430 --> 00:00:57.810
In the earliest finite element
analyses, iterative methods
00:00:57.810 --> 00:01:02.820
were used, among them the
Gauss-Seidel method.
00:01:02.820 --> 00:01:07.200
Now, the basic disadvantage of
using an iterative method is
00:01:07.200 --> 00:01:10.060
that we do not know how many
iterations have to be
00:01:10.060 --> 00:01:14.460
performed for solution, and thus
it is very difficult to
00:01:14.460 --> 00:01:17.980
estimate the total solution
effort to solve the equations
00:01:17.980 --> 00:01:25.460
KU equals R. Now we use almost
exclusively direct methods, or
00:01:25.460 --> 00:01:29.950
computer programs that are in
industry, in abundance use,
00:01:29.950 --> 00:01:32.590
are basically using
direct methods.
00:01:32.590 --> 00:01:37.490
And these direct methods are
basically variations of Gauss
00:01:37.490 --> 00:01:41.500
elimination, a method that
Gauss some 100 years ago
00:01:41.500 --> 00:01:45.160
proposed for the solution
of equations.
00:01:45.160 --> 00:01:48.350
Now we are talking about
static condensation,
00:01:48.350 --> 00:01:52.790
substructuring, frontal
solution, LDL transpose
00:01:52.790 --> 00:01:56.680
factorization, Cholesky
decomposition.
00:01:56.680 --> 00:02:00.150
We are also talking about the
crude method, the column
00:02:00.150 --> 00:02:02.920
reduction skyline solver.
00:02:02.920 --> 00:02:08.509
But all of these methods are
indeed variations of the basic
00:02:08.509 --> 00:02:11.360
Gauss elimination procedure.
00:02:11.360 --> 00:02:14.740
These are direct methods
because the number of
00:02:14.740 --> 00:02:19.370
operations can be counted for
the solution of the equations.
00:02:19.370 --> 00:02:24.290
In fact, the number of
operations for a system with n
00:02:24.290 --> 00:02:37.520
equations, a half bandwidth m,
is 1/2 nm squared, where we of
00:02:37.520 --> 00:02:41.410
course use a half bandwidth
m that is
00:02:41.410 --> 00:02:44.030
constant for the system.
00:02:44.030 --> 00:02:48.200
If the bandwidth varied, some
adjustments have to be made to
00:02:48.200 --> 00:02:49.240
that variable m.
00:02:49.240 --> 00:02:51.040
A mean value has to be used.
00:02:51.040 --> 00:02:54.390
However, the important point is
that we actually can count
00:02:54.390 --> 00:02:58.640
the number of operations to
obtain the solution, which was
00:02:58.640 --> 00:03:01.160
not the case in the iterative
method, because we did not
00:03:01.160 --> 00:03:03.820
know how many iterations
have to be performed.
00:03:03.820 --> 00:03:07.950
What I would like to do now
in this lecture is to very
00:03:07.950 --> 00:03:11.550
briefly review with you how the
basic Gauss elimination is
00:03:11.550 --> 00:03:15.340
performed, and then I would like
to show to you how this
00:03:15.340 --> 00:03:18.370
method is indeed the basis
of static condensation
00:03:18.370 --> 00:03:20.830
substructuring, et cetera.
00:03:20.830 --> 00:03:24.370
We will finally also consider
the column reduction skyline
00:03:24.370 --> 00:03:27.550
solver, which is very
effectively used, and that is
00:03:27.550 --> 00:03:31.600
in fact the equation solver that
is used in Sab and the
00:03:31.600 --> 00:03:33.230
ADINA program.
00:03:33.230 --> 00:03:39.770
Well, I have prepared, as
before, some view graphs here.
00:03:39.770 --> 00:03:43.820
And the first view graph here
shows a system of equations.
00:03:43.820 --> 00:03:45.720
This is the K matrix here.
00:03:45.720 --> 00:03:47.580
This is a displacement vector.
00:03:47.580 --> 00:03:49.340
This a load vector.
00:03:49.340 --> 00:03:54.460
And I will show you later on a
physical system which in fact
00:03:54.460 --> 00:03:58.110
gives this stiffness matrix K.
But let's look now at the
00:03:58.110 --> 00:04:01.990
system simply as an example
for solving equations.
00:04:01.990 --> 00:04:04.210
In the basic Gauss elimination
procedure,
00:04:04.210 --> 00:04:05.860
we proceed as follows.
00:04:05.860 --> 00:04:10.590
We subtract a multiple of this
equation here from the second
00:04:10.590 --> 00:04:14.230
equation and the third equation
in order to produce
00:04:14.230 --> 00:04:20.100
here a 0, and to produce
here a 0.
00:04:20.100 --> 00:04:27.490
Well, to obtain a 0 here, we
have to take 1/5 of this
00:04:27.490 --> 00:04:31.770
equation, 1/5 of that equation,
and subtract it from
00:04:31.770 --> 00:04:33.380
this equation.
00:04:33.380 --> 00:04:38.940
1/5 because then we obtain a 1
here, and that 1 knocks that 1
00:04:38.940 --> 00:04:40.820
out to obtain a 0.
00:04:40.820 --> 00:04:45.170
We have to subtract minus 4/5
of this equation from the
00:04:45.170 --> 00:04:48.290
second equation, and we
obtain a 0 here, too.
00:04:48.290 --> 00:04:53.970
While this process is shown on
the next view graph, the
00:04:53.970 --> 00:04:57.930
result of that process is
this set of equations.
00:04:57.930 --> 00:05:01.070
We now have produced our
0 here, our 0 here.
00:05:01.070 --> 00:05:03.470
Of course we had already
a 0 here.
00:05:03.470 --> 00:05:09.010
We will see later on that the
matrix in here, the 3-by-3
00:05:09.010 --> 00:05:12.490
matrix, bounded by the dash
lines on the side, in fact
00:05:12.490 --> 00:05:14.300
represents a stiffness matrix.
00:05:14.300 --> 00:05:19.540
That's important, because a
stiffness matrix has always
00:05:19.540 --> 00:05:23.210
positive elements
on the diagonal.
00:05:23.210 --> 00:05:26.190
Otherwise it is not a
stiffness matrix.
00:05:26.190 --> 00:05:29.060
It does not govern a
stable structure.
00:05:29.060 --> 00:05:32.440
See, here we have diagonal
elements that are all
00:05:32.440 --> 00:05:37.220
positive, and if we can show
that in the Gauss elimination
00:05:37.220 --> 00:05:41.050
procedure, we are still always
producing new stiffness
00:05:41.050 --> 00:05:45.120
matrices, here a 3-by-3 matrix,
then we directly can
00:05:45.120 --> 00:05:49.810
conclude that the diagonal
elements must remain positive.
00:05:49.810 --> 00:05:53.500
Well, in the Gauss elimination
procedure, the same process
00:05:53.500 --> 00:05:59.050
that we use to obtain from the
4-by-4 or 3-by-3 system is now
00:05:59.050 --> 00:06:02.220
carried on to obtain, from
the 3-by-3 system,
00:06:02.220 --> 00:06:04.190
a new 2-by-2 system.
00:06:04.190 --> 00:06:07.330
This means that we have to
subtract a multiple of the
00:06:07.330 --> 00:06:11.970
third equation from the fourth
equation and the fifth
00:06:11.970 --> 00:06:15.440
equation in order to obtain
a 0 here and a 0 here.
00:06:15.440 --> 00:06:21.870
For example, 5/14 of the second
equation is subtracted
00:06:21.870 --> 00:06:25.410
from the fourth equation
to obtain a 0 here.
00:06:25.410 --> 00:06:31.630
The result of that operation
is this matrix here.
00:06:31.630 --> 00:06:35.000
Now we have a 2-by-2
matrix here.
00:06:35.000 --> 00:06:37.480
Again, positive elements
on the diagonal.
00:06:37.480 --> 00:06:40.860
In fact, this is a 2-by-2
stiffness matrix, as I will be
00:06:40.860 --> 00:06:43.640
showing to you just now.
00:06:43.640 --> 00:06:49.350
Finally we proceed again, once
more, with the same step, to
00:06:49.350 --> 00:06:54.030
produce a 0 here, which means
that we have to subtract from
00:06:54.030 --> 00:07:00.120
this fourth equation a
minus 20/7 divided by
00:07:00.120 --> 00:07:03.040
15/7 of this equation.
00:07:03.040 --> 00:07:08.430
And the result, then, is this
set of equations here.
00:07:08.430 --> 00:07:11.940
Notice that we now have a single
element here, and in
00:07:11.940 --> 00:07:17.870
fact, this is a stiffness
matrix, in this case, a 1-by-1
00:07:17.870 --> 00:07:23.500
stiffness matrix, just one
element, that governs the
00:07:23.500 --> 00:07:26.730
behavior of a single spring.
00:07:26.730 --> 00:07:30.710
The solution off the equations
is now completed by solving
00:07:30.710 --> 00:07:35.670
for u4 from this relation
down here.
00:07:35.670 --> 00:07:38.250
This is a 1 degree of
freedom system.
00:07:38.250 --> 00:07:44.020
Knowing u4, we can go back to
this equation here, substitute
00:07:44.020 --> 00:07:49.030
u4 in, and the only unknown
variable is u3.
00:07:49.030 --> 00:07:52.180
We solve, therefore, u3
from this equation.
00:07:52.180 --> 00:07:54.510
Now we know u4 and u3.
00:07:54.510 --> 00:07:56.560
We now go to this equation.
00:07:56.560 --> 00:08:00.710
Knowing u3 u4, the only
unknown in this
00:08:00.710 --> 00:08:03.630
equation here is now u2.
00:08:03.630 --> 00:08:07.350
We can calculate u2, and
repeating the process, we can
00:08:07.350 --> 00:08:08.640
calculate u1.
00:08:08.640 --> 00:08:11.400
A very simple, straightforward
procedure,
00:08:11.400 --> 00:08:13.010
but extremely powerful.
00:08:13.010 --> 00:08:16.800
The result of that solution
is shown here.
00:08:16.800 --> 00:08:24.180
Notice u1 is simply obtained
by this operation here.
00:08:24.180 --> 00:08:31.720
Of course, here we're having
u2 and u3 in that we
00:08:31.720 --> 00:08:32.929
calculated already.
00:08:32.929 --> 00:08:36.640
u2 is calculated here. u4
is calculated here.
00:08:36.640 --> 00:08:41.200
It might be easier to actually
look at it the way we
00:08:41.200 --> 00:08:43.100
discussed it just now.
00:08:43.100 --> 00:08:45.600
We call that the back
substitution, because we are
00:08:45.600 --> 00:08:49.940
coming from below upwards, and
in the back substitution, we
00:08:49.940 --> 00:08:51.730
have u4 first.
00:08:51.730 --> 00:08:53.660
We then calculate u3.
00:08:53.660 --> 00:08:55.740
u4 is known now, remember.
00:08:55.740 --> 00:08:59.570
We can substitute directly u4
into here, and we get u3.
00:08:59.570 --> 00:09:04.500
Knowing now u3 and u4, we can
get u2, as shown here.
00:09:04.500 --> 00:09:07.860
And finally, we get u2.
00:09:07.860 --> 00:09:11.260
This is the basic Gauss
elimination procedure, an
00:09:11.260 --> 00:09:13.090
extremely powerful process.
00:09:13.090 --> 00:09:16.300
And I would like to show you
know how this procedure
00:09:16.300 --> 00:09:19.620
relates to the static
condensation and relates to
00:09:19.620 --> 00:09:23.610
the other techniques, and how
we then actually use this
00:09:23.610 --> 00:09:27.230
basic Gauss elimination
procedure in an actual finite
00:09:27.230 --> 00:09:28.580
element program.
00:09:28.580 --> 00:09:31.380
Well, static condensation is the
first topic that I'd like
00:09:31.380 --> 00:09:33.130
to talk about.
00:09:33.130 --> 00:09:36.720
The basic process is here that
we are partitioning the total
00:09:36.720 --> 00:09:40.260
matrix into the following
parts.
00:09:40.260 --> 00:09:44.290
A Kaa, Kac, Kca, and Kcc part.
00:09:44.290 --> 00:09:52.330
The cc part goes with Uc, the
displacements Uc, which we
00:09:52.330 --> 00:09:55.020
want to condense
statically out.
00:09:55.020 --> 00:09:59.630
Notice I'm putting the degrees
of freedom that I want to
00:09:59.630 --> 00:10:03.670
condense out at the bottom
of the U vector.
00:10:03.670 --> 00:10:08.140
Well, by static condensation we
mean that we express Uc in
00:10:08.140 --> 00:10:13.800
terms of Ua, which this equation
here is obtained from
00:10:13.800 --> 00:10:17.270
the bottom equation here.
00:10:17.270 --> 00:10:22.000
We then substitute Uc in the
top equation here, and the
00:10:22.000 --> 00:10:24.360
result is this equation here.
00:10:26.910 --> 00:10:30.820
Notice that the results can
be remembered quite easily
00:10:30.820 --> 00:10:36.100
because we have here an aa, Kaa,
then we have an a here, a
00:10:36.100 --> 00:10:38.250
c, a cc, ca.
00:10:38.250 --> 00:10:42.910
Notice that one might say, just
for remembering it, that
00:10:42.910 --> 00:10:46.910
this c knocks out that c, this
c knocks out that c, and what
00:10:46.910 --> 00:10:49.340
we are left with are aa's.
00:10:49.340 --> 00:10:51.990
And that means an aa
here, an aa here.
00:10:51.990 --> 00:10:54.700
So the dimensions are compatible
of the matrices,
00:10:54.700 --> 00:10:58.720
and the result is, I call
it here, K bar aa.
00:10:58.720 --> 00:11:05.020
Of course the right-hand side
has also changed, because the
00:11:05.020 --> 00:11:10.790
components must have an effect
on the equation that give Ua.
00:11:10.790 --> 00:11:14.990
Well, let's look at this
process, called the static
00:11:14.990 --> 00:11:20.540
condensation process, for
our simple example.
00:11:20.540 --> 00:11:23.760
And in this example now,
I deliberately
00:11:23.760 --> 00:11:26.440
put the Kcc up here.
00:11:26.440 --> 00:11:31.300
In other words, the Uc degree
of freedom is now the U1.
00:11:31.300 --> 00:11:36.520
This is all our Uc vector only
containing now one component.
00:11:36.520 --> 00:11:41.580
The static condensation was
originally proposed by
00:11:41.580 --> 00:11:44.840
considering or statically
condensing out of the last
00:11:44.840 --> 00:11:48.610
equation, and that is how it's
usually used also in finite
00:11:48.610 --> 00:11:49.680
element analysis.
00:11:49.680 --> 00:11:53.470
As an example, if we have
incompatible modes, we might
00:11:53.470 --> 00:11:56.990
condense out the incompatible
degrees of freedom, just as
00:11:56.990 --> 00:11:57.860
shown here.
00:11:57.860 --> 00:12:03.480
Or if we have internal degrees
of freedom in finite elements
00:12:03.480 --> 00:12:08.090
that only that only couple with
the bound the degrees of
00:12:08.090 --> 00:12:11.490
freedom of a finite element,
we could condense them out
00:12:11.490 --> 00:12:15.240
this way, and then we would have
this as the last degree
00:12:15.240 --> 00:12:15.900
of freedom.
00:12:15.900 --> 00:12:18.420
This would be Uc degrees of
freedom, and we would condense
00:12:18.420 --> 00:12:20.170
them out, just as shown here.
00:12:20.170 --> 00:12:23.060
However, in order to show you
how the static condensation
00:12:23.060 --> 00:12:27.530
relates to Gauss elimination, I
want to look at the example
00:12:27.530 --> 00:12:30.220
that we looked at earlier
already, and this the
00:12:30.220 --> 00:12:31.670
partitioning I have used.
00:12:31.670 --> 00:12:35.690
U1 now being the UC,
U2 U4 being the
00:12:35.690 --> 00:12:36.790
Ua degrees of freedom.
00:12:36.790 --> 00:12:39.850
So I want to now statically
condense out Uc.
00:12:39.850 --> 00:12:44.980
The result of the K bar
aa is shown here.
00:12:44.980 --> 00:12:51.200
Notice we are taking this part,
this part here, this
00:12:51.200 --> 00:12:56.800
part here goes right there,
this vector here is this
00:12:56.800 --> 00:13:03.160
vector here, 1/5 is the inverse
of Kcc, and this
00:13:03.160 --> 00:13:06.450
vector here is that
vector there.
00:13:06.450 --> 00:13:09.300
Well, performing these
operations, the
00:13:09.300 --> 00:13:12.640
result is this one here.
00:13:12.640 --> 00:13:13.620
That is the result.
00:13:13.620 --> 00:13:17.300
And if we go back to our earlier
Gauss elimination
00:13:17.300 --> 00:13:23.110
procedure, we in fact notice
that this matrix, K bar aa, is
00:13:23.110 --> 00:13:27.110
nothing else than the matrix
that we derived from the
00:13:27.110 --> 00:13:32.920
4-by-4 system when we eliminated
the non-zero
00:13:32.920 --> 00:13:34.400
elements here.
00:13:34.400 --> 00:13:37.250
In other words, we subtracted in
the Gauss elimination from
00:13:37.250 --> 00:13:41.480
the second equation and the
third equation a multiple of
00:13:41.480 --> 00:13:43.610
the first equation, we
got these zeros here.
00:13:43.610 --> 00:13:46.000
The result was this
3-by-3 matrix.
00:13:46.000 --> 00:13:49.640
And that 3-by-3 matrix is
exactly this matrix.
00:13:49.640 --> 00:13:53.310
So what have we been doing then
in the Gauss elimination?
00:13:53.310 --> 00:13:57.900
We have really statically
condensed out the first degree
00:13:57.900 --> 00:14:02.600
of freedom, and we have obtained
a stiffness matrix, K
00:14:02.600 --> 00:14:06.570
bar aa, in that Gauss
elimination procedure.
00:14:06.570 --> 00:14:11.120
We can now also look at the
physics that we have been
00:14:11.120 --> 00:14:13.860
going through, and this is,
in my opinion, a very
00:14:13.860 --> 00:14:15.760
important part also.
00:14:15.760 --> 00:14:19.400
We start off with this
matrix here.
00:14:19.400 --> 00:14:23.640
Notice the following00 this now
is the stiffness matrix of
00:14:23.640 --> 00:14:29.720
this beam for the U1 to the
U4 degrees of freedom.
00:14:29.720 --> 00:14:35.070
This stiffness matrix actually
has been derived by finite
00:14:35.070 --> 00:14:37.360
differences.
00:14:37.360 --> 00:14:43.920
It is a nice example to show
demonstratively what happens
00:14:43.920 --> 00:14:46.120
in the Gauss elimination.
00:14:46.120 --> 00:14:48.780
Of course, we could've also used
a finite element system,
00:14:48.780 --> 00:14:51.700
but I chose here a finite
difference matrix, which is
00:14:51.700 --> 00:14:56.500
still a stiffness matrix, and
which I can use very nicely to
00:14:56.500 --> 00:14:59.340
show to you the basic procedures
of the Gauss
00:14:59.340 --> 00:15:00.150
elimination.
00:15:00.150 --> 00:15:04.390
So this stiffness matrix
governed this system here.
00:15:04.390 --> 00:15:05.670
Notice the following.
00:15:05.670 --> 00:15:12.340
The first column, this column
here, represents the forces.
00:15:12.340 --> 00:15:20.300
When I displace this node, if
you think of this as a note,
00:15:20.300 --> 00:15:23.870
by unity, and keep all
the other degrees
00:15:23.870 --> 00:15:25.160
of freedom to 0--
00:15:25.160 --> 00:15:28.230
in other words, if I
put this deflected
00:15:28.230 --> 00:15:32.000
shape onto the beam--
00:15:32.000 --> 00:15:38.520
0 displacements right here, but
a unit displacement here.
00:15:38.520 --> 00:15:40.240
That is a unit displacement.
00:15:40.240 --> 00:15:43.710
Now notice, these are the forces
that have to act at
00:15:43.710 --> 00:15:48.940
these degrees of freedom
in order to give
00:15:48.940 --> 00:15:50.240
this deflected shape.
00:15:50.240 --> 00:15:52.840
The force here, if I
put them here in
00:15:52.840 --> 00:15:55.090
blue, is 5, as an example.
00:15:55.090 --> 00:15:58.630
The force here is minus 4.
00:15:58.630 --> 00:16:07.140
The force here is 1, and the
force here turns out to be 0.
00:16:07.140 --> 00:16:08.950
That element, or that element,
of course, we
00:16:08.950 --> 00:16:10.200
have a symmetric matrix.
00:16:14.140 --> 00:16:17.010
And of course, in the same way,
we can interpret other
00:16:17.010 --> 00:16:19.200
elements in this matrix.
00:16:19.200 --> 00:16:24.290
1 column represents always
forces that have to act onto
00:16:24.290 --> 00:16:28.660
the system in order to obtain
unit displacements at 1 degree
00:16:28.660 --> 00:16:29.150
of freedom.
00:16:29.150 --> 00:16:31.790
If you look at the I's
column, then it's the
00:16:31.790 --> 00:16:32.980
I's degree of freedom.
00:16:32.980 --> 00:16:38.510
And all the other degrees
of freedom are set to 0.
00:16:38.510 --> 00:16:42.890
Well, if we perform our Gauss
elimination or static
00:16:42.890 --> 00:16:45.590
condensation-- we have shown
that it is the same--
00:16:45.590 --> 00:16:48.270
on this system, in the
first step, we
00:16:48.270 --> 00:16:51.640
obtain a 3-by-3 matrix.
00:16:51.640 --> 00:16:54.770
Physically, what we have
obtained is the stiffness
00:16:54.770 --> 00:16:57.280
matrix of this system now.
00:16:57.280 --> 00:17:01.860
And the following important
point is now to be noted.
00:17:01.860 --> 00:17:05.930
If I look at this column just in
the same way as I looked at
00:17:05.930 --> 00:17:09.569
the first column of the 4-by-4
system, then this column
00:17:09.569 --> 00:17:14.369
represents now the forces that
are required at these degrees
00:17:14.369 --> 00:17:20.880
of freedom to impose a unit
displacement here at this
00:17:20.880 --> 00:17:26.760
degree of freedom, this now
being unity, with 0
00:17:26.760 --> 00:17:29.030
displacements here.
00:17:29.030 --> 00:17:32.065
And the force required
here is 14/5.
00:17:35.000 --> 00:17:38.360
That is the force that I have
to apply here to get a unit
00:17:38.360 --> 00:17:39.530
displacement here.
00:17:39.530 --> 00:17:42.710
At the same time, I have to
apply here a force of minus
00:17:42.710 --> 00:17:48.770
16/5, and I have to apply
here a force of 1.
00:17:48.770 --> 00:17:55.970
So I'm talking again about
forces acting onto the system
00:17:55.970 --> 00:17:57.890
in this matrix here.
00:17:57.890 --> 00:18:02.860
And these forces are stored in
the columns or the rows off
00:18:02.860 --> 00:18:07.200
the matrix, and in the I's
column or row, I have the
00:18:07.200 --> 00:18:12.030
forces required to impose a unit
displacement at the I's
00:18:12.030 --> 00:18:15.960
degree of freedom with all the
degrees of freedom being 0.
00:18:15.960 --> 00:18:19.800
And the important point is that
having performed now the
00:18:19.800 --> 00:18:22.940
Gauss elimination, here
I do not have
00:18:22.940 --> 00:18:24.840
anymore a degree of freedom.
00:18:24.840 --> 00:18:27.190
The system is free
to go down here.
00:18:29.800 --> 00:18:32.650
And that's what we mean by
static condensation, really.
00:18:32.650 --> 00:18:36.360
We have taken a degree of
freedom out of the system.
00:18:36.360 --> 00:18:41.570
Proceeding in the same way, we
obtain this 2 by 2 system.
00:18:41.570 --> 00:18:43.590
Now we only have 2 degrees
of freedom.
00:18:43.590 --> 00:18:46.950
I have condensed out this degree
of freedom and that
00:18:46.950 --> 00:18:48.710
degree of freedom,
which were there.
00:18:48.710 --> 00:18:51.840
The beam is now free to move
down here, so the deflected
00:18:51.840 --> 00:18:57.720
shape corresponding to U3, this
one here, would be like
00:18:57.720 --> 00:19:01.110
that, with 0 displacement
here, and unit
00:19:01.110 --> 00:19:03.170
displacement there.
00:19:03.170 --> 00:19:06.770
The forces required at these
degrees of freedom are stored
00:19:06.770 --> 00:19:08.530
in this column here.
00:19:08.530 --> 00:19:13.970
Now, we immediately can observe
that since we are
00:19:13.970 --> 00:19:17.930
talking about a physical system
into which we have to
00:19:17.930 --> 00:19:22.850
put energy to deform it, we
can conclude that these
00:19:22.850 --> 00:19:26.650
elements here must be
positive elements.
00:19:26.650 --> 00:19:29.510
In other words, the diagonal
elements in the stiffness
00:19:29.510 --> 00:19:32.290
matrices that we derive
must be positive.
00:19:32.290 --> 00:19:36.560
They must be positive because
if I push down the U3 degree
00:19:36.560 --> 00:19:43.710
of freedom to obtain a unit
displacement, surely the force
00:19:43.710 --> 00:19:46.960
that I have to apply here
must be positive.
00:19:46.960 --> 00:19:51.500
In other words, it must be a
force into the direction of
00:19:51.500 --> 00:19:53.770
the degree of freedom U3.
00:19:53.770 --> 00:19:57.400
And that means this must
be a positive element.
00:19:57.400 --> 00:20:01.440
So if, in a Gauss elimination
procedure, we obtain, all of a
00:20:01.440 --> 00:20:06.180
sudden, a negative diagonal
element, this one or that one,
00:20:06.180 --> 00:20:09.410
as an example, then we would
know that the structure we are
00:20:09.410 --> 00:20:13.100
analyzing is unstable.
00:20:13.100 --> 00:20:16.590
In the final step of the Gauss
elimination, we obtain a
00:20:16.590 --> 00:20:20.700
single degree of
freedom system.
00:20:20.700 --> 00:20:23.040
And that single degree
of freedom system
00:20:23.040 --> 00:20:25.050
behaves like that.
00:20:25.050 --> 00:20:28.000
Notice no more degree
of freedoms here.
00:20:28.000 --> 00:20:31.630
And the equation--
00:20:31.630 --> 00:20:34.760
I have to apologize that this
matrix has been written a
00:20:34.760 --> 00:20:35.530
little bit down.
00:20:35.530 --> 00:20:36.740
It should be a little
bit higher.
00:20:36.740 --> 00:20:38.780
They should, of course, be
aligned these three.
00:20:38.780 --> 00:20:43.380
But basically, we have 5/6
times U4 equals 7/6.
00:20:43.380 --> 00:20:47.530
And this here is really
nothing else than the
00:20:47.530 --> 00:20:50.130
stiffness of a spring.
00:20:50.130 --> 00:20:57.260
A spring K having
us a number 5/6.
00:20:57.260 --> 00:21:00.220
In other words, a spring
stiffness of 5/6 here.
00:21:00.220 --> 00:21:03.130
This is U4, the U4 degree
of freedom.
00:21:03.130 --> 00:21:08.270
And the force applied to
that spring is 7/6.
00:21:08.270 --> 00:21:10.350
We have a single degree
of freedom system.
00:21:10.350 --> 00:21:14.520
But notice that this single
degree of freedom system, this
00:21:14.520 --> 00:21:20.220
stiffness now, K equals 5/6,
contains really all the
00:21:20.220 --> 00:21:23.030
physical properties
of that beam.
00:21:23.030 --> 00:21:28.030
The effect of the other degrees
of freedom, U1, U2,
00:21:28.030 --> 00:21:32.340
U3, have been carried over into
this spring stiffness.
00:21:32.340 --> 00:21:38.190
Similarly, 7/6 is the force
which is a result off the
00:21:38.190 --> 00:21:40.090
other forces that were
applied to the
00:21:40.090 --> 00:21:41.770
other degrees of freedom.
00:21:41.770 --> 00:21:44.670
And now from the single degree
of freedom system, of course,
00:21:44.670 --> 00:21:49.470
we can solve for U4, and then we
go back to the 2 degree of
00:21:49.470 --> 00:21:53.990
freedom system to solve
for U3, and so on.
00:21:53.990 --> 00:21:57.690
By that back substitution
process, we obtain thus the
00:21:57.690 --> 00:22:03.820
displacement that the beam
is actually undergoing.
00:22:03.820 --> 00:22:07.930
So the important point is that
when we do perform Gauss
00:22:07.930 --> 00:22:11.910
elimination, we really operate
always on physical systems.
00:22:11.910 --> 00:22:16.150
We operate always from one
stiffness matrix on to another
00:22:16.150 --> 00:22:19.820
stiffness matrix, and the next
stiffness matrix is basically
00:22:19.820 --> 00:22:21.730
obtained by static
condensation.
00:22:21.730 --> 00:22:24.230
We are statically condensing
out 1 degree of
00:22:24.230 --> 00:22:26.390
freedom after the next.
00:22:26.390 --> 00:22:33.400
Well, if that is very well
understood, and I urge you to
00:22:33.400 --> 00:22:39.650
read up in the book on this
procedure, then I think you
00:22:39.650 --> 00:22:43.100
can very well appreciate how
the substructuring process,
00:22:43.100 --> 00:22:47.360
frontal solution method,
directly relates, again, to
00:22:47.360 --> 00:22:48.630
Gauss elimination.
00:22:48.630 --> 00:22:52.230
And here I summarize once the
basic procedure that we use in
00:22:52.230 --> 00:22:53.860
substructuring analysis.
00:22:53.860 --> 00:22:57.140
We really go through static
condensation on the internal
00:22:57.140 --> 00:23:00.270
degrees of freedom of
a substructure.
00:23:00.270 --> 00:23:03.250
Here I'm showing a substructure,
which is an
00:23:03.250 --> 00:23:06.250
assemblage, in this case, of
the plane stress 4-node
00:23:06.250 --> 00:23:07.790
elements, just for
illustration.
00:23:07.790 --> 00:23:10.750
Of course, there could be beam
elements internally here or
00:23:10.750 --> 00:23:11.990
externally here.
00:23:11.990 --> 00:23:13.360
There could be shell elements.
00:23:13.360 --> 00:23:14.350
Any kind of elements.
00:23:14.350 --> 00:23:17.540
But the important point is that
we have an assemblage of
00:23:17.540 --> 00:23:20.150
elements, which by itself,
of course, gives
00:23:20.150 --> 00:23:22.510
us a structure already.
00:23:22.510 --> 00:23:25.790
We use static condensation on
the internal degrees of
00:23:25.790 --> 00:23:28.390
freedom of the substructure.
00:23:28.390 --> 00:23:31.940
Well, the result, then, is a
new stiffness matrix of the
00:23:31.940 --> 00:23:33.920
substructure involving boundary
00:23:33.920 --> 00:23:36.010
degrees of freedom only.
00:23:36.010 --> 00:23:38.420
Let us look, then,
at this example.
00:23:38.420 --> 00:23:42.720
Here we have 2 degrees of
freedom at each node.
00:23:42.720 --> 00:23:46.690
At the boundary nodes, which are
shown solid, here, and the
00:23:46.690 --> 00:23:52.730
hollow points here, the
circles here are
00:23:52.730 --> 00:23:53.740
the internal nodes.
00:23:53.740 --> 00:23:55.390
2 degrees of freedom at each.
00:23:55.390 --> 00:23:58.750
The result is that we have a
50-by-50 stiffness matrix,
00:23:58.750 --> 00:24:03.470
because we have 1, 2, 3, 4, 5
nodes along this length, and 5
00:24:03.470 --> 00:24:04.240
layers this way.
00:24:04.240 --> 00:24:09.650
So 25 nodes times 2 degrees of
freedom per node gives us a
00:24:09.650 --> 00:24:12.080
50-by-50 stiffness matrix.
00:24:12.080 --> 00:24:14.920
Now what we do in the
substructuring analysis, we
00:24:14.920 --> 00:24:18.990
statically condense out the
internal degrees of freedom,
00:24:18.990 --> 00:24:22.830
just in the way I have shown
how we condense out in that
00:24:22.830 --> 00:24:28.980
beam element, in that beam
analysis, U1 to U3, the same
00:24:28.980 --> 00:24:34.620
way we are condensing out the
internal degrees of freedom.
00:24:34.620 --> 00:24:38.800
Notice that we do not need to
perform Gauss elimination from
00:24:38.800 --> 00:24:41.910
U1 to U3 or U4 onwards.
00:24:41.910 --> 00:24:46.810
We could also first deal with
U2, then with U4, then with
00:24:46.810 --> 00:24:49.810
U1, and then solve for U3.
00:24:49.810 --> 00:24:52.900
So we have really a lot of
flexibility in the Gauss
00:24:52.900 --> 00:24:54.710
elimination procedure.
00:24:54.710 --> 00:24:58.470
The important point is that now
we're using it to condense
00:24:58.470 --> 00:25:00.880
these internal degrees
of freedom out.
00:25:00.880 --> 00:25:05.190
The result, then, is a stiffness
matrix that only
00:25:05.190 --> 00:25:07.120
involves the boundary
degrees of freedom.
00:25:07.120 --> 00:25:11.710
Now in this case, we have 1,
2, 3, 4, 5 nodes here.
00:25:11.710 --> 00:25:13.270
Another 5 is 10.
00:25:13.270 --> 00:25:18.080
3 here and 3 here means 16,
times 2 means it's going to be
00:25:18.080 --> 00:25:21.670
is 32 by 32 stiffness matrix.
00:25:21.670 --> 00:25:24.080
Notice that the internal degrees
of freedom have been
00:25:24.080 --> 00:25:28.750
statically condensed out, which
means that if I impose,
00:25:28.750 --> 00:25:32.750
for example, a unit displacement
here, keeping all
00:25:32.750 --> 00:25:38.610
the other displacements 0 at
the other nodes, and I keep
00:25:38.610 --> 00:25:43.390
this one also 0, then in this
case, I would have internal
00:25:43.390 --> 00:25:47.220
displacements at these nodes.
00:25:47.220 --> 00:25:51.960
Whereas in this case, if I put
a unit displacement only
00:25:51.960 --> 00:25:54.560
corresponding to this degree of
freedom and keep all other
00:25:54.560 --> 00:25:58.640
displacements equal to 0, I
would have 0 displacements at
00:25:58.640 --> 00:26:00.690
these nodes, at these points.
00:26:00.690 --> 00:26:06.560
Here these nodes are free to go
wherever they want to go in
00:26:06.560 --> 00:26:08.090
the finite element solution.
00:26:08.090 --> 00:26:11.360
And if I put a unit displacement
on here, they
00:26:11.360 --> 00:26:14.540
will be taking on a
particular value.
00:26:14.540 --> 00:26:17.590
These nodal displacements will
take on a particular value.
00:26:17.590 --> 00:26:21.640
What we really have derived,
and this is important, is a
00:26:21.640 --> 00:26:23.290
new stiffness matrix.
00:26:23.290 --> 00:26:26.540
A new, we might call it, element
stiffness matrix.
00:26:26.540 --> 00:26:30.040
A superelement, or substructure
stiffness matrix.
00:26:30.040 --> 00:26:34.270
These are all equivalent words
that, however, only involve
00:26:34.270 --> 00:26:37.060
boundary degrees of freedom.
00:26:37.060 --> 00:26:40.790
This is now a new finite element
that can be used just
00:26:40.790 --> 00:26:44.550
as any ordinary finite element
in the assemblage process to
00:26:44.550 --> 00:26:48.740
obtain the stiffness matrix
of the complete structure.
00:26:48.740 --> 00:26:51.760
Let me show to you
a simple example.
00:26:55.650 --> 00:27:01.060
Here is a very simple structure,
a truss element
00:27:01.060 --> 00:27:04.480
that has only 3 degrees
of freedom.
00:27:04.480 --> 00:27:06.830
U1, U2, U3.
00:27:06.830 --> 00:27:09.140
The stiffness matrix of
that truss element is
00:27:09.140 --> 00:27:11.320
shown here as 3-by-3.
00:27:11.320 --> 00:27:15.190
Matrix here, we see U1,
U2, U3, and the forces
00:27:15.190 --> 00:27:17.520
corresponding to these degrees
of freedom, of course, are
00:27:17.520 --> 00:27:18.440
listed here.
00:27:18.440 --> 00:27:22.760
The objective in this example is
to statically condense out
00:27:22.760 --> 00:27:27.030
this degree of freedom, and
thus obtain a new element
00:27:27.030 --> 00:27:30.360
stiffness matrix that only
involve the boundary degrees
00:27:30.360 --> 00:27:31.100
of freedom.
00:27:31.100 --> 00:27:36.960
Well, the first step that I've
pursued here was to rearrange
00:27:36.960 --> 00:27:41.590
the equation so as to have U1
and U3 as the top equations,
00:27:41.590 --> 00:27:44.360
and U2 as the bottom equation.
00:27:44.360 --> 00:27:48.810
So we want to do static
condensation now from the
00:27:48.810 --> 00:27:53.510
back, or from the bottom, the
way it's usually done.
00:27:53.510 --> 00:27:56.330
And it's usually done that way
because it is numerically
00:27:56.330 --> 00:27:58.310
effective to proceed that way.
00:27:58.310 --> 00:28:00.780
The result, then,
is shown here.
00:28:00.780 --> 00:28:03.800
We write down just
to identify, to
00:28:03.800 --> 00:28:05.430
use the various parts.
00:28:05.430 --> 00:28:08.470
This matrix here is this
2-by-2 matrix.
00:28:08.470 --> 00:28:12.380
This minus 20, minus 28
is that one here.
00:28:12.380 --> 00:28:17.050
Here we get the Kcc inverse,
which is this part here, and
00:28:17.050 --> 00:28:20.790
then of course here we have
this vector, shown here.
00:28:20.790 --> 00:28:25.560
If we perform these
multiplications here, we
00:28:25.560 --> 00:28:28.280
obtain this stiffness
matrix here.
00:28:28.280 --> 00:28:33.090
A 1 minus 1 minus 11 with
a constant in front.
00:28:33.090 --> 00:28:35.750
Of course, the load vector
also has changed.
00:28:35.750 --> 00:28:38.230
There is a carry over from the
2 degree of freedom in to the
00:28:38.230 --> 00:28:40.460
1 and 3 degrees of freedom.
00:28:40.460 --> 00:28:44.120
The U2 degree of freedom then
can be recovered via this
00:28:44.120 --> 00:28:47.250
equation here, going back to
the original equation.
00:28:47.250 --> 00:28:49.620
The important point is that
we have now obtained the
00:28:49.620 --> 00:28:58.110
stiffness matrix of the truss
element, this stiffness matrix
00:28:58.110 --> 00:29:03.570
of the trust element, involving
U1 and U3 only.
00:29:03.570 --> 00:29:05.960
U2 is not anymore present.
00:29:05.960 --> 00:29:08.150
It has been statically
condensed out.
00:29:08.150 --> 00:29:13.060
The U2 will adjust itself to a
particular value, and that
00:29:13.060 --> 00:29:16.610
value, of course, is
given right here.
00:29:16.610 --> 00:29:19.990
But the stiffness matrix that
we have now here only
00:29:19.990 --> 00:29:23.180
corresponds to U1 and U3.
00:29:23.180 --> 00:29:32.270
Well, that process can then
be repeated, and we can go
00:29:32.270 --> 00:29:35.880
through a process that we call
multilevel substructuring.
00:29:35.880 --> 00:29:39.220
In other words, we don't
just go once through a
00:29:39.220 --> 00:29:42.390
substructuring process, but
we go repeatedly through
00:29:42.390 --> 00:29:43.480
substructuring processes.
00:29:43.480 --> 00:29:45.890
And basically, what we are doing
is we are solving the
00:29:45.890 --> 00:29:49.750
system of equations KU equals R
of the complete system in a
00:29:49.750 --> 00:29:51.070
very effective way.
00:29:51.070 --> 00:29:53.360
Let me show you here
an example.
00:29:53.360 --> 00:29:57.510
Here we have a simple
truss assemblage.
00:29:57.510 --> 00:30:00.690
We have 1, 2, 3, 4 elements.
00:30:00.690 --> 00:30:03.790
The important point
is here that the
00:30:03.790 --> 00:30:05.390
elements are all similar.
00:30:05.390 --> 00:30:14.030
The area is varying 2A1,
4A1, 8A1, 16A1.
00:30:14.030 --> 00:30:18.440
And what I want to do is,
I want to deal now, via
00:30:18.440 --> 00:30:21.850
substructuring with the
equations to obtain a very
00:30:21.850 --> 00:30:23.140
effective solution.
00:30:23.140 --> 00:30:26.590
The first step is to look at
this element, which involves
00:30:26.590 --> 00:30:28.500
U1 and U3 and U2.
00:30:28.500 --> 00:30:32.080
And here you see, once more,
a sketch of that element.
00:30:32.080 --> 00:30:34.000
That is the element here.
00:30:34.000 --> 00:30:37.340
Now I condense out U2, and
that's what we just did in the
00:30:37.340 --> 00:30:38.440
previous example.
00:30:38.440 --> 00:30:40.250
The only degrees of freedom
that we are left with,
00:30:40.250 --> 00:30:43.800
then, are U1 U3.
00:30:43.800 --> 00:30:48.070
So now we have an element
stiffness matrix, this element
00:30:48.070 --> 00:30:53.260
stiffness matrix, but in terms
of U1 and U3 only.
00:30:53.260 --> 00:30:55.530
The next step, then,
is to say, let
00:30:55.530 --> 00:30:57.350
us repeat this process.
00:30:57.350 --> 00:31:01.380
Let us now say, since we have
this element stiffness matrix
00:31:01.380 --> 00:31:07.440
here in terms of U1 and U3 only,
and since this adamant
00:31:07.440 --> 00:31:10.620
is similar to this element here,
there is only a scalar
00:31:10.620 --> 00:31:15.450
involved because the area is
varying as shown, from A1 to
00:31:15.450 --> 00:31:20.790
2A1 to 4A1 and so on, we can
use this stiffness matrix
00:31:20.790 --> 00:31:24.110
here, this element stiffness
matrix, which, however, is
00:31:24.110 --> 00:31:28.550
already a substructure the way
I've defined it, to assemble
00:31:28.550 --> 00:31:30.350
the stiffness matrix
corresponding to
00:31:30.350 --> 00:31:32.520
both of these elements.
00:31:32.520 --> 00:31:35.420
And that process is
schematically shown here.
00:31:35.420 --> 00:31:41.990
This stiffness matrix now will
involve U1, U3, and U5.
00:31:41.990 --> 00:31:46.240
Notice U2 is gone, and the
important point U4 is gone
00:31:46.240 --> 00:31:50.340
also, because I've dealt with
U2, I have statically
00:31:50.340 --> 00:31:54.580
condensed out U2, and by that,
of course, I also have
00:31:54.580 --> 00:31:57.660
statically condensed out U4
simultaneously, because I'm
00:31:57.660 --> 00:32:00.730
using this element stiffness
matrix here again.
00:32:00.730 --> 00:32:02.780
So U4 is also gone already.
00:32:02.780 --> 00:32:09.280
And now all I need to do is
condense out U3, and I obtain
00:32:09.280 --> 00:32:16.010
a second level substructure,
which I can use again now to
00:32:16.010 --> 00:32:22.200
assemble this element here
with that element.
00:32:22.200 --> 00:32:27.060
And that is shown on the
next view graph here.
00:32:27.060 --> 00:32:34.400
I repeat that process using this
element here now, which
00:32:34.400 --> 00:32:39.870
is this part here, involving
only U1 and U5, and this
00:32:39.870 --> 00:32:43.210
element here, which is similar
to that element.
00:32:43.210 --> 00:32:47.170
Again, an area variation
there, of course.
00:32:47.170 --> 00:32:50.260
And I obtain an element
stiffness matrix, or a
00:32:50.260 --> 00:32:52.960
structural stiffness matrix,
whichever way you want to look
00:32:52.960 --> 00:32:57.880
at it, that involves U1,
U5, and U9 only.
00:32:57.880 --> 00:33:00.900
I can now statically
condense out U5.
00:33:00.900 --> 00:33:05.740
The only unknowns I'm left with
are U1 and U9, and of
00:33:05.740 --> 00:33:10.330
course then I can simply
solve for U1 and U9.
00:33:10.330 --> 00:33:14.280
Of course, we would have
to have also one of the
00:33:14.280 --> 00:33:16.310
displacement being
prescribed to
00:33:16.310 --> 00:33:17.540
actually perform a solution.
00:33:17.540 --> 00:33:20.170
Otherwise we have a rigid
body mode in the system.
00:33:20.170 --> 00:33:25.430
Assuming that, say, U1 is 0, we
now would impose U1 being
00:33:25.430 --> 00:33:31.210
0, solve for U9, go back, solve
for U5, and proceed
00:33:31.210 --> 00:33:34.150
backwards to solve for all
the displacements.
00:33:34.150 --> 00:33:37.420
The important point is that
via this substructuring
00:33:37.420 --> 00:33:40.330
process, a multilevel
substructuring process, we
00:33:40.330 --> 00:33:42.030
have saved operations.
00:33:42.030 --> 00:33:45.260
We have saved operations because
in this particular
00:33:45.260 --> 00:33:48.020
case, you see, I have condensed
out these degrees of
00:33:48.020 --> 00:33:53.750
freedom already, and I use this
fact in this assemblage
00:33:53.750 --> 00:33:58.300
process and solution in such a
way as that I do not need to
00:33:58.300 --> 00:34:01.630
condense out these degrees of
freedom, that I do not need to
00:34:01.630 --> 00:34:04.750
deal with these degrees of
freedom again, because I've
00:34:04.750 --> 00:34:07.910
dealt with them in effect
already by condensing out
00:34:07.910 --> 00:34:09.160
these degrees of freedom here.
00:34:11.785 --> 00:34:13.880
There are also other
advantages using
00:34:13.880 --> 00:34:17.469
substructuring, and one
important advantage that I
00:34:17.469 --> 00:34:22.270
should mention is that in the
input definition phase, we
00:34:22.270 --> 00:34:27.460
only need to define the
elements, nodal points, and so
00:34:27.460 --> 00:34:31.004
on of a typical substructure,
and we can use that definition
00:34:31.004 --> 00:34:35.110
in a computer program, then,
again and again, to assemble
00:34:35.110 --> 00:34:36.540
the complete structure.
00:34:36.540 --> 00:34:39.530
In other words, if I have
defined, typically for a
00:34:39.530 --> 00:34:44.590
high-rise building, one typical
floor, and I have
00:34:44.590 --> 00:34:48.449
assembled the floor stiffness
matrix with columns, beams,
00:34:48.449 --> 00:34:52.580
and so on, that pertain to
that floor, if I then
00:34:52.580 --> 00:34:55.739
statically condense out the
degrees of freedom that we
00:34:55.739 --> 00:34:59.480
want to condense out for that
part of the substructure, I
00:34:59.480 --> 00:35:04.160
can use that floor substructure,
so to say, again
00:35:04.160 --> 00:35:08.690
and again, to assemble the
complete building structure.
00:35:08.690 --> 00:35:13.070
And this means I only have to
define really the particular
00:35:13.070 --> 00:35:16.120
substructure input, and I
deal, then, with that
00:35:16.120 --> 00:35:18.470
substructure numerically,
as I have
00:35:18.470 --> 00:35:22.220
shown here in the example.
00:35:22.220 --> 00:35:26.210
The next important procedure
that I like to discuss very
00:35:26.210 --> 00:35:28.850
briefly with you is the
frontal solution.
00:35:28.850 --> 00:35:34.450
And the frontal solution really,
again, only represents
00:35:34.450 --> 00:35:38.340
a variation of the basic Gauss
elimination procedure.
00:35:38.340 --> 00:35:42.190
It represents, really, a static
condensation procedure.
00:35:42.190 --> 00:35:46.070
And that static condensation,
however, is performed in a
00:35:46.070 --> 00:35:47.550
particular way.
00:35:47.550 --> 00:35:50.180
And this is really where the
advantages of the frontal
00:35:50.180 --> 00:35:52.070
solution can lie.
00:35:52.070 --> 00:35:58.070
It's performed via looking
at the elements.
00:35:58.070 --> 00:36:01.330
Let me describe to you
the basic process.
00:36:01.330 --> 00:36:05.830
Here we have, as an example, a
two-dimensional plane stress
00:36:05.830 --> 00:36:09.180
element mesh.
00:36:09.180 --> 00:36:13.170
We have 4-node elements, as
shown here, element 1, element
00:36:13.170 --> 00:36:16.790
2, element 3, element 4,
q, q plus 1, and so on.
00:36:16.790 --> 00:36:18.740
In other words, there's a whole
lay of elements this
00:36:18.740 --> 00:36:21.740
way, and that way, and so on.
00:36:21.740 --> 00:36:27.220
This mesh could represent, for
example, a cantilever plate
00:36:27.220 --> 00:36:30.100
that acts in plane stress.
00:36:30.100 --> 00:36:35.000
In the frontal solution, the
solution of the KU equals R
00:36:35.000 --> 00:36:37.940
equation is performed
by elements.
00:36:37.940 --> 00:36:42.900
So we're putting in element 1,
which couples into node 1,
00:36:42.900 --> 00:36:48.460
node 2, node m, and
node n plus 1.
00:36:48.460 --> 00:36:53.390
Since the degrees of freedom
at node 1 only obtain
00:36:53.390 --> 00:36:57.740
stiffness from element 1, and
no other element, the
00:36:57.740 --> 00:37:02.880
assemblage of this element
into the global structure
00:37:02.880 --> 00:37:08.030
stiffness matrix gives
the only stiffness
00:37:08.030 --> 00:37:10.520
contribution at node 1.
00:37:10.520 --> 00:37:14.190
Therefore, we have the final
equations at node 1, and we
00:37:14.190 --> 00:37:16.210
can deal with them already.
00:37:16.210 --> 00:37:19.630
And that's how the frontal
solution proceeds now.
00:37:19.630 --> 00:37:23.650
It statically condenses out
these degrees of freedom.
00:37:26.260 --> 00:37:31.110
Then we move on to the
next node of element
00:37:31.110 --> 00:37:33.270
1, this node here.
00:37:33.270 --> 00:37:36.490
However, this node gets
stiffness from element
00:37:36.490 --> 00:37:38.720
1 and element 2.
00:37:38.720 --> 00:37:44.050
So in order to obtain the final
equations here, we have
00:37:44.050 --> 00:37:49.230
to add the element 2 stiffness
matrix to the element 1
00:37:49.230 --> 00:37:50.520
stiffness matrix.
00:37:50.520 --> 00:37:54.210
And that means in this way,
then, of course, we obtain the
00:37:54.210 --> 00:37:57.750
final equation, corresponding
to node 2.
00:37:57.750 --> 00:38:00.130
We now can statically condense
out the degrees of
00:38:00.130 --> 00:38:02.570
freedom at node 2.
00:38:02.570 --> 00:38:06.710
We then move on to the next
node, involving element 1 and
00:38:06.710 --> 00:38:11.220
element 2, which
is node 3, say.
00:38:11.220 --> 00:38:16.030
And now we have to, however,
assemble the stiffness matrix
00:38:16.030 --> 00:38:21.910
of elements 3, also into the
equations that we have
00:38:21.910 --> 00:38:23.970
assembled already.
00:38:23.970 --> 00:38:27.120
Having done so, we can now use
static condensation to
00:38:27.120 --> 00:38:30.480
condense out these degrees
of freedom.
00:38:30.480 --> 00:38:35.720
We proceed, therefore, via
elements, and we are talking
00:38:35.720 --> 00:38:37.610
about a wave front--
00:38:37.610 --> 00:38:41.310
which is this one for node 1,
this is the wave front for
00:38:41.310 --> 00:38:44.080
node 2, this is the
wave front--
00:38:44.080 --> 00:38:47.420
in other words, what we are
saying is, the wave front
00:38:47.420 --> 00:38:52.180
really embodies or contains all
the elements that we need
00:38:52.180 --> 00:38:55.260
to have assembled before
we can condense
00:38:55.260 --> 00:38:57.370
out degrees of freedom.
00:38:57.370 --> 00:39:00.620
To condense out the degrees of
freedom at node 2, we have to
00:39:00.620 --> 00:39:03.290
have a wave front such
as shown here.
00:39:03.290 --> 00:39:06.590
We have to have assembled
element 1 and 2, because
00:39:06.590 --> 00:39:12.530
element 1 and element 2 give
stiffness to node 2.
00:39:12.530 --> 00:39:16.090
The important point is that we
are proceeding via static
00:39:16.090 --> 00:39:21.020
condensation from node 1 to
node 2 and so on, and this
00:39:21.020 --> 00:39:22.670
means really that we
are performing
00:39:22.670 --> 00:39:24.500
Gauss elimination again.
00:39:24.500 --> 00:39:28.860
The process is summarized
here once more.
00:39:28.860 --> 00:39:31.830
The frontal solution consists
of successive static
00:39:31.830 --> 00:39:34.180
condensation of nodal
degrees for freedom.
00:39:34.180 --> 00:39:35.900
The solution is performed
in the order
00:39:35.900 --> 00:39:37.510
of the element numbering.
00:39:37.510 --> 00:39:39.440
That's important.
00:39:39.440 --> 00:39:42.390
Same number of operations are
performed in the frontal
00:39:42.390 --> 00:39:45.860
solution as in the skyline
solution, if the element
00:39:45.860 --> 00:39:48.870
numbering in the wave front
solution corresponds to the
00:39:48.870 --> 00:39:51.500
nodal point numbering in
the skyline solution.
00:39:51.500 --> 00:39:54.720
So if the element numbering
in the frontal solution
00:39:54.720 --> 00:39:58.410
corresponds to the nodal point
numbering in the skyline
00:39:58.410 --> 00:40:03.350
solution, we perform in the
skyline solution, which I have
00:40:03.350 --> 00:40:06.140
not really talked about yet, and
that's what I want to get
00:40:06.140 --> 00:40:09.040
on now, the same number
of operations as
00:40:09.040 --> 00:40:11.260
in the frontal solution.
00:40:11.260 --> 00:40:15.990
By corresponding, I mean in this
particular case here, we
00:40:15.990 --> 00:40:19.740
would condense out in the
frontal solution the degrees
00:40:19.740 --> 00:40:23.050
of freedom at node 1, then 2,
then 3, then 4, and so on.
00:40:23.050 --> 00:40:25.600
And of course, in the skyline
solution, or in the Gauss
00:40:25.600 --> 00:40:29.690
elimination procedure, we also
proceed via node 1, 2,
00:40:29.690 --> 00:40:31.140
3, 4, and so on.
00:40:31.140 --> 00:40:34.050
So in this particular example,
the frontal solution and the
00:40:34.050 --> 00:40:37.290
skyline solution would give the
same number of operations.
00:40:37.290 --> 00:40:40.700
Well, let me go on to the
skyline solution, then.
00:40:40.700 --> 00:40:44.840
And the basis of that solution
is LDL transpose
00:40:44.840 --> 00:40:46.040
factorization.
00:40:46.040 --> 00:40:49.820
Basically again, Gauss
elimination.
00:40:49.820 --> 00:40:52.350
The basic step here
is the following.
00:40:52.350 --> 00:40:55.780
We are having our stiffness
matrix, K here, and now I'm
00:40:55.780 --> 00:40:58.900
going back to that example which
I discussed earlier, the
00:40:58.900 --> 00:41:00.080
beam example.
00:41:00.080 --> 00:41:02.955
We're talking about the 4-by-4
stiffness matrix again.
00:41:02.955 --> 00:41:06.330
We're using this stiffness
matrix, and we premultiply it
00:41:06.330 --> 00:41:10.730
by an L1 inverse matrix,
this matrix here.
00:41:10.730 --> 00:41:12.960
In fact we never perform
formally this
00:41:12.960 --> 00:41:18.920
premultiplication via matrix,
because what this does is, it
00:41:18.920 --> 00:41:23.600
subtracts a multiple of this
first row from the rows below
00:41:23.600 --> 00:41:26.320
it to update a 0 here
and a 0 there.
00:41:26.320 --> 00:41:29.810
That's all this
premultiplication does.
00:41:29.810 --> 00:41:33.490
And the result is this matrix
here, which I've shown to you
00:41:33.490 --> 00:41:34.980
earlier already.
00:41:34.980 --> 00:41:39.780
The next step is then
to operate on this
00:41:39.780 --> 00:41:43.650
matrix in the same way.
00:41:43.650 --> 00:41:47.600
However, before doing so, let me
show you here a view graph
00:41:47.600 --> 00:41:51.490
in which I have written out
specifically the L1 inverse.
00:41:51.490 --> 00:41:53.870
And the important point, L1.
00:41:53.870 --> 00:41:57.650
Notice that L1, the inverse of
this matrix, is obtained by
00:41:57.650 --> 00:41:59.200
trivial operation.
00:41:59.200 --> 00:42:03.300
Namely, simply changing the plus
here to a minus sign, and
00:42:03.300 --> 00:42:05.430
the minus sign to a plus here.
00:42:05.430 --> 00:42:08.700
Changing the signs of the
off-diagonal elements gives us
00:42:08.700 --> 00:42:13.370
directly the inverse
of that matrix.
00:42:13.370 --> 00:42:24.830
Well, having obtained,
therefore, via this operation,
00:42:24.830 --> 00:42:28.540
or having carried out via this
operation, I should say, the
00:42:28.540 --> 00:42:32.070
first step of the basic Gauss
elimination procedure, namely
00:42:32.070 --> 00:42:36.840
subtracting the top row from
the rows below it to obtain
00:42:36.840 --> 00:42:40.380
zeroes in the first column below
the diagonal element, we
00:42:40.380 --> 00:42:42.940
proceed in the same way.
00:42:42.940 --> 00:42:46.040
and via this procedure here--
00:42:46.040 --> 00:42:49.920
now, of course, we have an L2
inverse, and so on-- we obtain
00:42:49.920 --> 00:42:52.550
what we call an upper
triangular matrix.
00:42:52.550 --> 00:42:55.190
S, an upper triangular matrix.
00:42:55.190 --> 00:43:00.480
Zeroes all below the diagonal,
and only non-zero elements
00:43:00.480 --> 00:43:01.510
right here.
00:43:01.510 --> 00:43:04.930
Of course, if the matrix has a
bandwidth originally, that
00:43:04.930 --> 00:43:10.050
bandwidth would be preserved,
and we would have no non-zero
00:43:10.050 --> 00:43:12.060
elements outside that band.
00:43:12.060 --> 00:43:14.750
In other words, all elements
outside the band would, in
00:43:14.750 --> 00:43:17.920
fact, be also zero elements.
00:43:17.920 --> 00:43:23.220
This upper triangular matrix,
then, obtained--
00:43:23.220 --> 00:43:24.760
this is the S matrix, here--
00:43:27.310 --> 00:43:30.380
will be used in the
back substitution.
00:43:30.380 --> 00:43:34.010
This is here the element that
gives us the single degree of
00:43:34.010 --> 00:43:37.320
freedom stiffness, which I
talked about earlier, from
00:43:37.320 --> 00:43:40.660
which we can solve Un.
00:43:40.660 --> 00:43:42.800
Here I'm talking about
a general case with
00:43:42.800 --> 00:43:44.930
n degrees of freedom.
00:43:44.930 --> 00:43:49.010
However, looking at this
equation, let us first
00:43:49.010 --> 00:43:53.950
identify that we can put all of
these inverse matrices onto
00:43:53.950 --> 00:43:59.920
the right-hand side, and we
obtain this equation here.
00:43:59.920 --> 00:44:05.770
Now notice that this L1 is
obtained by trivial operation
00:44:05.770 --> 00:44:07.160
from L1 inverse.
00:44:07.160 --> 00:44:09.720
The same holds for
L2 and so on.
00:44:09.720 --> 00:44:12.040
So we never really had
to invert a matrix to
00:44:12.040 --> 00:44:13.660
obtain this part here.
00:44:13.660 --> 00:44:20.005
Furthermore, this L1 was an
identity matrix with only
00:44:20.005 --> 00:44:28.120
non-zero, off-diagonal elements
in the first column.
00:44:28.120 --> 00:44:31.750
This one is a matrix which
looks like the identity
00:44:31.750 --> 00:44:38.750
matrix, but has also non-zero,
off-diagonal elements in the
00:44:38.750 --> 00:44:40.300
second column.
00:44:40.300 --> 00:44:41.370
And so on.
00:44:41.370 --> 00:44:47.220
And the product of these
matrices here, then, is very
00:44:47.220 --> 00:45:00.340
simply obtained by writing
the 1's into the diagonal
00:45:00.340 --> 00:45:04.400
positions, and the off-diagonal
elements here are
00:45:04.400 --> 00:45:10.100
those of L1 in the first column,
those of L2 in the
00:45:10.100 --> 00:45:12.560
second column, and so on.
00:45:12.560 --> 00:45:17.740
So even this multiplication is
obtained in a very simple way.
00:45:17.740 --> 00:45:24.640
We only need to write the first
column of L1 into here,
00:45:24.640 --> 00:45:27.865
the second column of L2
into here, the third
00:45:27.865 --> 00:45:29.680
column of L3 into here.
00:45:29.680 --> 00:45:34.050
And the result, all of that,
I call the L matrix.
00:45:37.600 --> 00:45:42.660
Now notice that once again, we
do not perform any matrix
00:45:42.660 --> 00:45:43.840
multiplication.
00:45:43.840 --> 00:45:47.300
We have n minus 1 matrices here,
but we do not perform a
00:45:47.300 --> 00:45:55.060
matrix multiplication, because
all we do is, we take the
00:45:55.060 --> 00:45:59.440
first column of L1 and put it
into the first column of L.
00:45:59.440 --> 00:46:04.040
The second column of L2 is the
second column in L. The n
00:46:04.040 --> 00:46:08.190
minus second column in L is
nothing else than the n minus
00:46:08.190 --> 00:46:11.740
second column in L n minus 2.
00:46:11.740 --> 00:46:12.770
And so on.
00:46:12.770 --> 00:46:17.720
The result, therefore, is that
we have written k equal to Lf,
00:46:17.720 --> 00:46:20.530
L being equal to this
product here.
00:46:20.530 --> 00:46:26.450
Now because K is symmetric, we
can, in fact, write this F
00:46:26.450 --> 00:46:31.200
matrix here as D times L
transposed, where d is a
00:46:31.200 --> 00:46:35.870
diagonal matrix, dii
being equal to sii.
00:46:35.870 --> 00:46:43.030
So now we have factorized the K
matrix into LDL transposed.
00:46:43.030 --> 00:46:48.230
The d elements, or the dii
elements, must all be positive
00:46:48.230 --> 00:46:51.890
if our structure is stable,
as I pointed out earlier.
00:46:51.890 --> 00:47:02.020
The Cholesky factorization,
just by remark, uses this
00:47:02.020 --> 00:47:06.160
form, K being L curl times L
curl transpose, where we
00:47:06.160 --> 00:47:09.080
should note that L curl is
really nothing else than L
00:47:09.080 --> 00:47:14.850
times d to the 1/2, where d to
the 1/2 is obtained by using
00:47:14.850 --> 00:47:18.510
the D matrix and taking
square roots of
00:47:18.510 --> 00:47:19.500
the diagonal elements.
00:47:19.500 --> 00:47:22.710
In other words, the ith
elemental of d to the 1/2 is
00:47:22.710 --> 00:47:26.490
nothing else than square
root out of dii.
00:47:29.840 --> 00:47:36.720
Well, having performed the LDL
transpose factorization, we
00:47:36.720 --> 00:47:39.850
now are ready to solve the
equations, and they are solved
00:47:39.850 --> 00:47:41.220
in the following steps.
00:47:41.220 --> 00:47:47.350
We have LV equals R, where V
is defined as shown here.
00:47:47.350 --> 00:47:51.730
Notice that if I were to put
this part into there, I really
00:47:51.730 --> 00:47:57.480
obtain nothing else than LDL
transpose times U equals R,
00:47:57.480 --> 00:48:00.510
where this is, of course,
nothing else than K times U
00:48:00.510 --> 00:48:03.440
equals R, if I were
to substitute
00:48:03.440 --> 00:48:04.540
from here into there.
00:48:04.540 --> 00:48:09.480
However, we separate these two
steps out, and we call this
00:48:09.480 --> 00:48:19.160
the forward reduction of R,
which is really obtained by
00:48:19.160 --> 00:48:27.700
subtracting specific elements
of R from other elements.
00:48:27.700 --> 00:48:30.720
We never really perform
a matrix product here.
00:48:30.720 --> 00:48:33.580
We write it that way, but
really, it means nothing else
00:48:33.580 --> 00:48:38.810
than taking, say, the ith
element off R and subtracting
00:48:38.810 --> 00:48:41.450
that element, or multiple of
that element, from the
00:48:41.450 --> 00:48:43.190
elements below it.
00:48:43.190 --> 00:48:45.380
That is a typical operation
performed when
00:48:45.380 --> 00:48:47.670
we form the V vector.
00:48:47.670 --> 00:48:52.620
Having obtained V, we go back to
this equation here, and we
00:48:52.620 --> 00:48:53.820
perform this step.
00:48:53.820 --> 00:48:57.340
Notice that this step is nothing
else than the division
00:48:57.340 --> 00:49:01.600
off the V elements by
the D elements.
00:49:01.600 --> 00:49:06.730
In other words, here we take
Vi and divide it by dii.
00:49:06.730 --> 00:49:11.140
The final step, then, is the
back substitution, which gives
00:49:11.140 --> 00:49:14.520
us U. The back substitution
is performed
00:49:14.520 --> 00:49:16.130
as I discussed earlier.
00:49:16.130 --> 00:49:20.260
Already we're going from UN,
from the last degree of
00:49:20.260 --> 00:49:24.020
freedom, upwards to calculate
the values of
00:49:24.020 --> 00:49:26.790
the degrees of freedom.
00:49:26.790 --> 00:49:32.660
Let us now look at the actual
implementation.
00:49:32.660 --> 00:49:38.240
The implementation has
to be performed very
00:49:38.240 --> 00:49:40.200
effectively, of course.
00:49:40.200 --> 00:49:44.390
All I have been giving to
you now so far were the
00:49:44.390 --> 00:49:49.750
mathematical equations that we
are basically operating on.
00:49:49.750 --> 00:49:54.480
The LDL transpose factorization
is, of course, a
00:49:54.480 --> 00:50:00.230
way of writing a set of steps
of solution that we are
00:50:00.230 --> 00:50:00.880
performing.
00:50:00.880 --> 00:50:03.640
However, we want to perform
them as effectively as
00:50:03.640 --> 00:50:08.340
possible, and the scheme that
we're using is related,
00:50:08.340 --> 00:50:12.470
really, to the crude scheme--
00:50:12.470 --> 00:50:16.830
we call it the column
reduction scheme--
00:50:16.830 --> 00:50:20.310
that we are going through for
the solution of the equation.
00:50:20.310 --> 00:50:24.650
And the procedure that we're
using is as follows.
00:50:24.650 --> 00:50:27.610
Here we have the stiffness
matrix.
00:50:27.610 --> 00:50:30.830
Notice that we only store
the upper part.
00:50:30.830 --> 00:50:34.440
Since we have a asymmetric
matrix, we can directly obtain
00:50:34.440 --> 00:50:38.020
the lower part elements from
the upper part elements.
00:50:38.020 --> 00:50:40.980
We do not need to store them
in the computer program.
00:50:40.980 --> 00:50:45.120
We also perform the Gauss
elimination in a very, you
00:50:45.120 --> 00:50:49.120
might say, strange way, when
you look at it first.
00:50:49.120 --> 00:50:52.590
And the way we're performing
it is the following.
00:50:52.590 --> 00:50:57.200
That we are reducing
this column first.
00:50:57.200 --> 00:50:59.630
In other words, we are
going column-wise.
00:50:59.630 --> 00:51:01.180
We are reducing this
column first.
00:51:01.180 --> 00:51:03.840
The result is that one.
00:51:03.840 --> 00:51:08.200
In the next step, then, we are
going through the reduction of
00:51:08.200 --> 00:51:10.220
the next column.
00:51:10.220 --> 00:51:13.970
See here, we are now reducing
this column, and the
00:51:13.970 --> 00:51:16.030
result is that one.
00:51:16.030 --> 00:51:20.480
The dashed line always is on
the right-hand side of that
00:51:20.480 --> 00:51:24.500
part of the matrix, which has
already been reduced.
00:51:24.500 --> 00:51:29.780
And now we are looking here at
the third column, and this is
00:51:29.780 --> 00:51:34.190
the reduction off the third
column The final step is then
00:51:34.190 --> 00:51:38.200
that we are reducing
the fourth column,
00:51:38.200 --> 00:51:40.460
and this is the result.
00:51:40.460 --> 00:51:45.000
Now notice that having performed
these operations
00:51:45.000 --> 00:51:45.830
column-wise--
00:51:45.830 --> 00:51:47.550
and I have not given
you the details.
00:51:47.550 --> 00:51:49.610
We do not have time
in this lecture
00:51:49.610 --> 00:51:50.650
to look at the details.
00:51:50.650 --> 00:51:55.310
The details are in the book, if
you want to read them up.
00:51:55.310 --> 00:51:58.730
All I'd like to convey to you
now are the procedures that
00:51:58.730 --> 00:52:00.960
we're using to show you
the effectiveness.
00:52:00.960 --> 00:52:05.440
Notice that the final result
here in this operation is the
00:52:05.440 --> 00:52:09.620
D matrix on the diagonal and
the L transpose in the
00:52:09.620 --> 00:52:11.180
off-diagonal elements.
00:52:11.180 --> 00:52:14.560
And we have done
it column-wise.
00:52:14.560 --> 00:52:17.220
Well, what does this mean,
then, in practice?
00:52:17.220 --> 00:52:19.850
In practice it means
the following.
00:52:19.850 --> 00:52:25.130
Notice that I have now a system
which has different
00:52:25.130 --> 00:52:28.400
column heights for different
equations.
00:52:28.400 --> 00:52:31.680
The column heights are being
defined by the first non-zero
00:52:31.680 --> 00:52:34.610
element in a column.
00:52:34.610 --> 00:52:38.950
So this is the column height
for this last column here,
00:52:38.950 --> 00:52:40.370
because this is the
first non-zero
00:52:40.370 --> 00:52:41.540
element in the column.
00:52:41.540 --> 00:52:46.050
The zero elements below this
element here, in general,
00:52:46.050 --> 00:52:47.350
become non-zero elements.
00:52:47.350 --> 00:52:48.830
In general, not always.
00:52:48.830 --> 00:52:51.630
But because they in general
become non-zero elements, we
00:52:51.630 --> 00:52:53.700
have defined our column
height this way.
00:52:53.700 --> 00:52:57.770
And what we are now doing in the
actual solution is that we
00:52:57.770 --> 00:53:03.060
are reducing, column by column,
just the way I have
00:53:03.060 --> 00:53:08.740
shown it, to obtain finally the
elements of the D matrix
00:53:08.740 --> 00:53:12.660
on the diagonal, and the
elements of the L transpose
00:53:12.660 --> 00:53:16.670
matrix in the off-diagonal
elements here.
00:53:16.670 --> 00:53:18.770
And we can do so--
00:53:18.770 --> 00:53:20.330
this is important--
00:53:20.330 --> 00:53:22.740
by simply replacing elements.
00:53:22.740 --> 00:53:27.590
If you go back to an earlier
step that we looked at, what
00:53:27.590 --> 00:53:32.420
we have done here is looked at
this matrix here, and we, in
00:53:32.420 --> 00:53:36.890
the reduction process, simply
replaced this element by 1/5,
00:53:36.890 --> 00:53:41.420
replaced this element by the
minus 4 element, by minus 8/7,
00:53:41.420 --> 00:53:43.020
over and so on.
00:53:43.020 --> 00:53:44.800
So we don't need additional
storage.
00:53:44.800 --> 00:53:47.310
We can simply replace
elements.
00:53:47.310 --> 00:53:52.910
In the same way, we proceed
now here, as shown, on the
00:53:52.910 --> 00:53:54.300
next view graph.
00:53:54.300 --> 00:53:57.500
Here we have filled in the
zero element, and the
00:53:57.500 --> 00:54:03.140
reduction has been performed
column after column.
00:54:03.140 --> 00:54:08.860
The effectiveness of this whole
procedure is really seen
00:54:08.860 --> 00:54:14.090
on this view graph here, when
we talk about large systems.
00:54:14.090 --> 00:54:18.350
I want to denote here this as
a large system, because the
00:54:18.350 --> 00:54:22.840
high speed core storage is not
sufficient to store the
00:54:22.840 --> 00:54:24.360
whole matrix in.
00:54:24.360 --> 00:54:27.040
And so what we have been doing
is, we are storing
00:54:27.040 --> 00:54:29.180
the matrix in blocks.
00:54:29.180 --> 00:54:32.690
This is here the first block,
shown by the dashed line.
00:54:32.690 --> 00:54:34.290
This is the second block.
00:54:34.290 --> 00:54:37.010
This is the third block, and
that's the fourth block.
00:54:37.010 --> 00:54:41.640
What I'm saying is that we
have divided the total
00:54:41.640 --> 00:54:47.460
stiffness matrix into blocks,
and in fact, we divided the
00:54:47.460 --> 00:54:53.320
blocks in such a way as to be
able to take always at least
00:54:53.320 --> 00:54:55.810
two blocks into core.
00:54:55.810 --> 00:54:59.570
In other words, in this solution
process, we have to
00:54:59.570 --> 00:55:02.180
be able to take this
block into core,
00:55:02.180 --> 00:55:03.860
that block into core.
00:55:03.860 --> 00:55:04.810
Two blocks.
00:55:04.810 --> 00:55:08.240
We also would have to be able to
take this block into core,
00:55:08.240 --> 00:55:10.100
that block into core,
and so on.
00:55:10.100 --> 00:55:14.440
Of course, the way this is
actually automatized in a
00:55:14.440 --> 00:55:17.060
computer program, is that
we say we have so
00:55:17.060 --> 00:55:18.080
much storage available.
00:55:18.080 --> 00:55:21.250
Say that we have 40,000 storage
locations available.
00:55:21.250 --> 00:55:24.360
Then for the solution of the
equations, or for the storing
00:55:24.360 --> 00:55:28.990
of the stiffness matrix,
then 20,000 locations
00:55:28.990 --> 00:55:30.890
would be used per block.
00:55:30.890 --> 00:55:35.520
And what the solution routine
simply does-- it counts these
00:55:35.520 --> 00:55:42.950
elements and puts this dashed
line in such a way that 20,000
00:55:42.950 --> 00:55:47.290
elements are in here, 20,000
elements are in here, 20,000
00:55:47.290 --> 00:55:49.710
elements are in here,
and so on.
00:55:49.710 --> 00:55:53.650
The solution procedure, or the
solution of the equation, is
00:55:53.650 --> 00:55:55.730
now performed in the
following way,
00:55:55.730 --> 00:55:58.590
using the block structure.
00:55:58.590 --> 00:56:03.320
We proceed with the reduction
off this column, of that
00:56:03.320 --> 00:56:05.780
column, of that column
and that column.
00:56:05.780 --> 00:56:09.920
Now, I should point out the
following important point.
00:56:09.920 --> 00:56:17.180
When we do we do reduce this
column, this column coupled
00:56:17.180 --> 00:56:18.870
into the first equation.
00:56:18.870 --> 00:56:22.090
So we have to have these
elements in core.
00:56:22.090 --> 00:56:24.720
Of course, since this is 1
block, and since we can store
00:56:24.720 --> 00:56:27.860
that block in core anyway,
there is no problem.
00:56:27.860 --> 00:56:30.780
We can reduce this
column directly.
00:56:30.780 --> 00:56:33.750
These elements that we
already have obtained
00:56:33.750 --> 00:56:36.360
are indeed in core.
00:56:36.360 --> 00:56:38.120
Now let's go on to
the second block.
00:56:38.120 --> 00:56:42.570
The second block coupled into
the first block, because these
00:56:42.570 --> 00:56:44.860
elements here couple into
these equations.
00:56:44.860 --> 00:56:49.550
So in order to reduce the second
block column by column,
00:56:49.550 --> 00:56:52.250
we have to have the first
block in core.
00:56:52.250 --> 00:56:53.690
And that's what we do.
00:56:53.690 --> 00:57:00.450
We take this block into core and
reduce the second block.
00:57:00.450 --> 00:57:04.120
Having finished the second block
reduction, we go on to
00:57:04.120 --> 00:57:05.410
the fourth block.
00:57:05.410 --> 00:57:09.970
And the fourth block now is
reduced by first taking the
00:57:09.970 --> 00:57:13.040
first block into core, because
the first block also couples
00:57:13.040 --> 00:57:16.150
into the third block.
00:57:16.150 --> 00:57:19.350
Then taking the second block
into core together with this
00:57:19.350 --> 00:57:23.360
one, and reducing this one, and
then of course, finally,
00:57:23.360 --> 00:57:24.630
we reduce this one.
00:57:24.630 --> 00:57:29.630
So the general procedure,
therefore, is that we take a
00:57:29.630 --> 00:57:33.080
particular block into core that
we want to reduce, we
00:57:33.080 --> 00:57:36.690
have reduced already all the
previous blocks, we have
00:57:36.690 --> 00:57:40.305
storage available also for one
of the previous blocks, and we
00:57:40.305 --> 00:57:45.030
sequentially take the previous
blocks into core to take into
00:57:45.030 --> 00:57:48.470
account all the coupling that
these previous blocks have
00:57:48.470 --> 00:57:52.320
onto the current block that
we want to reduce.
00:57:52.320 --> 00:57:56.230
In this example, we're taking
this block into core.
00:57:56.230 --> 00:57:58.740
We then take first also
this block into core.
00:57:58.740 --> 00:58:01.600
That means we have two
blocks in core.
00:58:01.600 --> 00:58:04.180
We take the effect of
this block into
00:58:04.180 --> 00:58:06.740
account onto that block.
00:58:06.740 --> 00:58:08.160
Then we throw this book out.
00:58:08.160 --> 00:58:10.760
We take this block into core.
00:58:10.760 --> 00:58:14.500
We take the effect of this block
into account onto this
00:58:14.500 --> 00:58:18.790
block, and finally, we reduce
the block by itself.
00:58:18.790 --> 00:58:22.340
In the same way, we would
proceed with this block, just
00:58:22.340 --> 00:58:23.270
as another example.
00:58:23.270 --> 00:58:24.930
We take this block
into a core.
00:58:24.930 --> 00:58:27.410
This one couples into all
previous blocks, so what we
00:58:27.410 --> 00:58:31.230
have to do is take this into
core, and first take this into
00:58:31.230 --> 00:58:35.970
core, take the effect of this
coupling into account onto
00:58:35.970 --> 00:58:40.070
this block, throw this out, take
this one into core, put
00:58:40.070 --> 00:58:44.520
this block coupling onto that
block, throw this out, take
00:58:44.520 --> 00:58:47.160
this one into core, and finally
take the effect of
00:58:47.160 --> 00:58:50.710
this block coupling onto that
one into account, and finally
00:58:50.710 --> 00:58:53.690
then, of course, reduce
this block by itself.
00:58:53.690 --> 00:58:56.890
This, then, completes
the complete
00:58:56.890 --> 00:58:59.280
solution of a large system.
00:58:59.280 --> 00:59:02.460
I only was able to give you
the basic principles, the
00:59:02.460 --> 00:59:04.280
basic ideas.
00:59:04.280 --> 00:59:08.470
Some of the details are
described in the textbook, and
00:59:08.470 --> 00:59:10.990
you can read up there
further on it.
00:59:10.990 --> 00:59:12.580
Thank you very much for
your attention.
00:59:12.580 --> 00:59:14.780
This was all what I wanted
to say in this lecture.