Principle of Virtual Work for a Deformable Body

advertisement
Principle of Virtual Work for a Deformable Body
For a rigid body, that body can only translate and rotate. For a deformable
body, however, the shape and dimensions of the body can change. If we
choose virtual displacements that are not just rigid body displacements,
then the virtual work done will not be zero.
Example:
Consider a spring of unstretched length L:
dx
F
L
If we apply a small elongation, dx, to the spring, the force F will do work
dW =Fdx
Fd
This work is not zero since by stretching the spring we increase its internal
energy, E, (also called the strain energy or the potential energy of the
spring).
spring)
For a linear spring, we have F=kx, where k is the spring constant and x is
the total stretch of the spring
Thus the total work , W, in going from the unstretched length to
a final length
g xf is
x= x f
W=
∫
kxdx
x =0
1
= kx 2f
2
The quantity on the right side of this equation is just the total
strain energy or potential, U, of the spring, so we have
W=E
(total work done by the force on the spring is equal to the strain
energy of the spring)
By differentiating this relationship we also have
dW =dE
( Fdx =kxdx)
If we choose small virtual displacements that allow deformations of the body to
occur, then the virtual work done by the forces and couples acting on the body will
not be zero but will be equal to the virtual change in the strain energy of the body,
i.e.
δW =δE
As in the case of rigid bodies, for deformable bodies we can show that if we
satisfy the above relationship for "all" possible small virtual displacements,
then equilibrium of the deformable body will be satisfied, or in other words:
δW = δE
equilibrium
Principal of Virtual Work for Deformable Bodies
The reason this is important is that we can use this principle to solve
both statically determinant and indeterminant problems
In applying the virtual work principle for deformable bodies, we generally
express the strain energy of the body in terms of displacements and then
use the virtual work principle to determine those displacements
displacements. The
manner in which this is done is as follows:
We first break the system we are considering into deformable "elements"
and use the virtual work principle to relate the forces acting on an
element to the displacements at "nodes" of those elements in terms of a
element "stiffness" matrix.
We then combine (assemble) all the element stiffness matrices together
into a single stiffness matrix for the entire system that is a set of
equations that relate all the displacements to all the forces acting on the
system.
t
We then apply the "boundary conditions", i.e. conditions we know about
displacements
p
((or forces)) to this set of equations
q
to obtain a set of linear
equations for all the unknown displacements.
We solve this system of equations for the displacements.
We can then use those displacements to find all the forces in the
individual elements.
The steps we will follow are:
1. Describe the nodes and their connectivity for the system
2. determine the stiffness matrix of each element
3. assemble the global stiffness matrix
4. apply the boundary conditions
5. solve the equations
6. p
post-process
p
the solution to g
get all the forces
Example:
We are going to examine a problem where we have a series of
interconnected linear springs and we wanted to solve for the
displacements at the ends of each spring and the forces that produce
these displacements:
P
Consider first a single spring:
displacements
forces
on mth element
Fi ( m )
Uj
Ui
km
node i
node j
mth element
F j( m )
Fi ( m )
Uj
Ui
km
node i
F j( m )
node j
mth element
Th strain
The
t i energy off this
thi spring
i iis
2
1
E = km (U j − U i )
2
if we give the displacements at each node a small virtual
displacement then the work done by the forces will be
δ W = Fi ( m )δ U i + Fj( m )δ U j
and by the virtual work principle
δW = δ E =
∂E
∂E
δUi +
δU j
∂U i
∂U j
= km (U j − U i ) δ U j − km (U j − U i ) δ U i
Thus
Fi ( m )δ U i + Fj( m )δ U j = km (U j − U i ) δ U j − km (U j − U i ) δ U i
If this is true for all virtual displacements we must have
Fi ( m ) = km (U i − U j )
Fj( m ) = − km (U i − U j )
or, in matrix form
⎧⎪ Fi ( m ) ⎫⎪ ⎡ km
⎨ ( m) ⎬ = ⎢
⎪⎩ Fj ⎪⎭ ⎣ − km
− k m ⎤ ⎧U i ⎫
⎨ ⎬
km ⎥⎦ ⎩U j ⎭
element stiffness matrix, Km
⎧⎪ Fi ( m ) ⎫⎪ ⎡ km
⎨ ( m) ⎬ = ⎢
⎪⎩ Fj ⎪⎭ ⎣ − km
− k m ⎤ ⎧U i ⎫
⎨ ⎬
km ⎥⎦ ⎩U j ⎭
note that equilibrium of the spring is satisfied since
Fi ( m ) + F j( m ) = 0
also note that we can write the total strain energy of the spring in terms
of this stiffness matrix:
E=
⎡ km
1
U
U
{ i j } ⎢−k
2
⎣ m
=
1
T
{U} [K m ]{U}
2
− k m ⎤ ⎧U i ⎫
⎨ ⎬
km ⎥⎦ ⎩U j ⎭
⎡ km
K
=
[ m ] ⎢ −k
⎣ m
−km ⎤
km ⎦⎥
⎧U ⎫
{U} = ⎨U i ⎬
⎩
j
⎭
To show how we use this element stiffness matrix
matrix, it best to take a specific example
100 lb
B
A
20 lb/in
30 lb/in
Determine the forces acting on the supports at A and B
This is a statically indeterminant problem since
A
100
B
A B 100 0
A+B+100=0
is the only equilibrium equation so we cannot find A and
B. Thus,, we need to consider the deformations of the
springs. This is easily done with the virtual work principle
1. define the nodes and connectivity
1
(1)
element number
1
2
2
(2)
node i node j
1
2
2
3
2. define the element stiffness matrices
⎡ 20 −20 ⎤
K1 = ⎢
⎥
⎣ −20 20 ⎦
⎡ 30 −30 ⎤
K2 = ⎢
⎥
30
30
−
⎣
⎦
3
3. Assemble a global stiffness matrix from each element
Here the variables we want to solve for are the displacements U1 , U2 ,U3
U1
U2
U3
so we want to form up
pag
global stiffness matrix for the whole system
y
that has
the form
⎡
⎢
⎢
⎢⎣
Kg
⎤ ⎧U1 ⎫ ⎧ F1 ⎫
⎥ ⎪U ⎪ = ⎪ F ⎪
⎥⎨ 2⎬ ⎨ 2⎬
⎥⎦ ⎩⎪U 3 ⎭⎪ ⎩⎪ F3 ⎭⎪
Consider the first element contribution to the global equation
U1
(1)
F1
U2
F2(1)
element number
1
2
20
(1) ⎫
⎧
F
20
20
0
−
U
1
⎡
⎤⎧ 1⎫
⎪
⎪
⎪
⎪
⎢ −20 20 0 ⎥ U = F (1) ⎪⎪
⎢
⎥⎨ 2⎬ ⎨ 2 ⎬
⎢⎣ 0
0 0 ⎥⎦ ⎩⎪U 3 ⎭⎪ ⎪ 0 ⎪
⎪⎩
⎭⎪
Now add in the second element contribution
( 2)
F2
U2
U3
F3( 2)
30
(1)
⎧
⎫
F
U
−
20
20
0
1
⎡
⎤⎧ 1⎫
⎢ −20 20 + 30 −30 ⎥ ⎪U ⎪ = ⎪⎪ F (1) + F ( 2 ) ⎪⎪
2 ⎬
⎢
⎥⎨ 2⎬ ⎨ 2
⎢⎣ 0
30 ⎥⎦ ⎩⎪U 3 ⎭⎪ ⎪ F3( 2) ⎪
−30
⎪⎩
⎭⎪
node i node j
1
2
2
3
⎧⎪ Fi ( m ) ⎫⎪ ⎡ km − km ⎤ ⎧U i ⎫
⎨ ( m) ⎬ = ⎢
⎥ ⎨U ⎬
−
k
k
F
m ⎦⎩ j⎭
⎪⎩ j ⎪⎭ ⎣ m
⎡ k11 k12 ⎤ ⎧U i ⎫
=⎢
⎥ ⎨U ⎬
k
k
⎣ 21 22 ⎦ ⎩ j ⎭
But note that we have
(1)
F1
U1
U2
(1)
F2
20
U2
( 2)
F2
100
F2(1)
so
30
F2( 2)
F2(1) + F2( 2) = 100
and we have
0 ⎤ ⎧U1 ⎫ ⎧ F1(1) ⎫
−20
⎡ 20
⎢ −20 20 + 30 −30 ⎥ ⎪U ⎪ = ⎪ 100 ⎪
⎬
⎢
⎥⎨ 2⎬ ⎨
⎢⎣ 0
30 ⎥⎦ ⎩⎪U 3 ⎭⎪ ⎪⎩ F3( 2) ⎪⎭
−30
U3
F3( 2)
4. apply the boundary conditions
U1 =0
U2
U3 =0
(1)
⎡ 20 −20 0 ⎤ ⎧U1 ⎫ ⎧ F1 ⎫
⎢ −20 50 −30 ⎥ ⎪U ⎪ = ⎪ 100 ⎪
⎬
⎢
⎥⎨ 2⎬ ⎨
⎢⎣ 0 −30 30 ⎥⎦ ⎩⎪U 3 ⎭⎪ ⎪ F ( 2) ⎪
⎩ 3 ⎭
so we can ignore the first and third equations and from the second
equation
ti we h
have only
l one non-trivial
t i i l equation
ti
5. solve the remaining system of equations
−20U1 + 50U 2 − 30U 3 = 100
and so the solution is U2 = 2 in.
We would like to automate the application of the boundary conditions so
th t we can solve
that
l the
th original
i i l system
t
off equations.
ti
One
O way to
t do
d this
thi iis
as follows:
1. initialize the right
g hand side to zero:
⎧0 ⎫
⎪ ⎪
⎨0 ⎬
⎪0 ⎪
⎩ ⎭
2. If a force is specified at a node, place it in the appropriate nodal
force location:
⎧ 0 ⎫
⎪ ⎪
⎨100 ⎬
⎪ 0 ⎪
⎩ ⎭
3. If a displacement is specified as zero at the nth node, leave the right
hand side value as zero and replace the Knn term in the stiffness matrix
by a large value N. For our previous example we would have
⎡ 109 −20 0 ⎤ ⎧U1 ⎫ ⎧ 0 ⎫
⎢
⎥⎪ ⎪ ⎪ ⎪
20
50
30
−
−
⎢
⎥ ⎨U 2 ⎬ = ⎨100 ⎬
⎢ 0 −30 109 ⎥ ⎪⎩U 3 ⎪⎭ ⎪⎩ 0 ⎪⎭
⎣
⎦
If a displacement is specified as a non-zero value, C, at the nth node,
then replace the right hand side value by CxN
CxN, where N is a large
value and replace the Knn term in the stiffness matrix by the same large
value N. Example: in our previous example if we had U3 =3 instead of
U3 =0, we would have
⎡ 109 −20 0 ⎤ ⎧U1 ⎫ ⎧ 0 ⎫
⎢
⎥⎪ ⎪ ⎪
⎪
20
50
30
U
100
−
−
=
⎨
⎬
⎨
⎬
⎢
⎥ 2
⎢ 0 −30 109 ⎥ ⎪⎩U 3 ⎪⎭ ⎪⎩3 × 109 ⎪⎭
⎣
⎦
4. We can then solve the system of equations directly
For example:
⎡ 109 −20 0 ⎤ ⎧U1 ⎫ ⎧ 0 ⎫
⎢
⎥⎪ ⎪ ⎪ ⎪
−
20
50
−
30
⎢
⎥ ⎨U 2 ⎬ = ⎨100 ⎬
⎢ 0 −30 109 ⎥ ⎪⎩U 3 ⎭⎪ ⎩⎪ 0 ⎭⎪
⎣
⎦
0.00000004000000
0
00000004000000
2.00000005200000
0.00000006000000
⎡ 109 −20 0 ⎤ ⎧U1 ⎫ ⎧ 0 ⎫
⎢
⎥⎪ ⎪ ⎪
⎪
20
50
30
U
100
−
−
=
⎨
⎬
⎨
⎬
⎢
⎥ 2
⎢ 0 −30 109 ⎥ ⎪⎩U 3 ⎪⎭ ⎪⎩3 × 109 ⎪⎭
⎣
⎦
0.00000007600000
3.80000009880000
3.00000011400000
U1 = 0,
0 U 2 = 22, U 3 = 0
exactly
U1 = 0, U 2 = 3.8, U 3 = 3
exactly
6. Post-processing
If we p
place the displacements
p
back into our system
y
of equations
q
we find
⎡ 20 −20 0 ⎤ ⎧0 ⎫ ⎧−40 ⎫
⎢ −20 50 −30 ⎥ ⎪2 ⎪ = ⎪100 ⎪
⎬
⎢
⎥⎨ ⎬ ⎨
⎪ ⎪ ⎪
⎪
⎣⎢ 0 −30 30 ⎥⎦ ⎩0 ⎭ ⎩−60 ⎭
so we have
F1(1) = −40
F3( 2) = −60
100 lb
40 lb
60 lb
which shows that that we have also satisfied equilibrium of the entire system
Download