Next: Conclusion Up: The Computer Algebra Previous: Beam on Elastic

## Partially Supported Beam

We come back to our original problem of a partially supported beam as shown in Figure 6.1. As we will see that gap in the middle of the foundation is designed such that the stress in the middle of the beam is reduced. In this case, the modulus k of the foundation is given in Mathematica as

```    4 EI beta^4 ( UnitStep[a + (l-b)/2 - x] + UnitStep[x - a - (l+b)/2 ] )
```
and the differential equation becomes

```      4              b   l
4 beta  UnitStep[a - - + - - x] w[x] +
2   2

4               b   l              (4)
4 beta  UnitStep[-a - - - - + x] w[x] + w   [x] ==
2   2

F (DiracDelta[-a + x] + DiracDelta[-a - l + x])
-----------------------------------------------
EI
```

Mathematica will not be able to solve all by itself the differential equation with this modulus of the foundation. But this does not mean that we have to give up. Actually, we can split the horizontal range into three regions for which we already know the solution:

In the first and third region we are just considering a supported beam. For this case we already found the general solution in the previous section. We apply the replacement rule
```    {UnitStep[x-a-l]->0, d1->d11, d2->d12, d3->d13, d4->d14}
```
in the general solution to obtain the following deflection in the left region:
```    d11 Cos[beta x]        beta x
--------------- + d13 E       Cos[beta x] +
beta x
E

d12 Sin[beta x]        beta x
--------------- + d14 E       Sin[beta x] +
beta x
E

beta (a - x)
(E             F (Cos[beta (-a + x)] -

2 beta (-a + x)
E                Cos[beta (-a + x)] +

Sin[beta (-a + x)] +

2 beta (-a + x)
E                Sin[beta (-a + x)]) UnitStep[-a + x]

3
) / (8 beta  EI)
```
To obtain the deflection function in the right region we just apply the replacement rule
```    {UnitStep[x-a-l]->1, d1->d31, d2->d32, d3->d33, d4->d34}
```
to the general solution of a beam on an elastic support.

The midsection is the special case of an unsupported beam. In this case the differential equation is

```     (4)       F (DiracDelta[-a + x] + DiracDelta[-a - l + x])
w   [x] == -----------------------------------------------
EI
```
and can be easily solved by Mathematica; the result is
```    {{w[x] -> C[1] + x C[2] + x  C[3] + x  C[4] +

3       2            2      3
-(a  F)   a  F x   a F x    F x
(------- + ------ - ------ + ----) UnitStep[-a + x] +
6 EI      2 EI     2 EI    6 EI

3             2                 2      3
-(F (a + l) )   F (a + l)  x   F (-a - l) x    F x
(------------- + ------------ + ------------- + ----)
6 EI            2 EI           2 EI        6 EI
```
Applying the replacement rule
```    {UnitStep[x-a]->1, UnitStep[x-a-l]->0,
C[1]->d21,C[2]->d22, C[3]->d23, C[4]->d24}
```
we obtain the following deflection function for the middle region.
```                                              3
2        3   F (-a + x)
d21 + d22 x + d23 x  + d24 x  + -----------
6 EI
```
By differentiation we can also compute the slopes, bending moments, and shear forces in the threwe regions. We are left with twelve unknowns , where i=1,2,3 and j=1,2,3,4 in the solutions. We can calculate these unknowns from the four boundary conditions of free beam ends and the eight conditions that come from matching the different deflection functions and higher derivatives as continuous functions. The commands are shown below, but we have omitted the lengthy list of simplification rules. These rules are of the type `DiracDelta[a] -> 0`, and `UnitStep[-a] -> 0` to let Mathematica know that we understand a to be a positive real number.

```    eq[1] = Simplify[ m1[0]==0 /. simplificationrules ];

eq[2] = Simplify[ m3[L]==0 /. simplificationrules ];

eq[3] = Simplify[ q1[0] == 0 /. simplificationrules ];

eq[4] = Simplify[ q3[L] == 0 /. simplificationrules ];

eq[5] = Simplify[ w1[a+(l-b)/2] == w2[a+(l-b)/2] /.
simplificationrules ];

eq[6] =  Simplify[ h1[a+(l-b)/2] == h2[a+(l-b)/2] /.
simplificationrules  ]

eq[7] =  Simplify[ m1[a+(l-b)/2] == m2[a+(l-b)/2] /.
simplificationrules ];

eq[8] =  Simplify[ ( q1[a+(l-b)/2] == q2[a+(l-b)/2] ) /.
simplificationrules ];

eq[9] = Simplify[ ( w2[a+l/2+b/2] == w3[a+l/2+b/2] ) /.
simplificationrules ];

eq[10] = Simplify[ ( h2[a+l/2+b/2] == h3[a+l/2+b/2] ) /.
simplificationrules  ];

eq[11] = Simplify[ ( m2[a+l/2+b/2] == m3[a+l/2+b/2] ) /.
simplificationrules ];

eq[12] = Simplify[ q2[a+l/2+b/2] == q3[a+l/2+b/2] /.
simplificationrules ];
```
If we take and the same data as in the previous section, Mathematica can solve the twelve equations in the 's. The deflection and the bending moment are shown below, together with the result without the gap. As you can clearly see from these figures, the stress is reduced in the middle section if the gap in the foundation is introduced.

In the design phase of course we don't know a ``good'' value for the gap width b. But it is rather easy to graphically find such a value: solve numerically the problem for several values of b, plot the function, and in an animation step through the graphs to find the best choice for b. This is what we have done in the following Mathematica code:

```    equations = Table[eq[i],{i,12}];
L=2600; l=1500; EI=6.33 10^(11); F=56.25 10^3; k=25;
beta=(k/(4 EI))^(1/4); a=(L-l)/2;

Do[ (
solutions = NSolve[ equations,
{d11,d12,d13,d14,d21,d22,d23,d24,d31,d32,d33,d34} ][[1]];
p1 = a+(l-b)/2; p2 = a+(l+b)/2;
W1 = w1[x] /. solutions;
W2 = w2[x] /. solutions;
W3 = w3[x] /. solutions;
Clear[W]; Clear[M];
W[x_ /; Evaluate[x<=p1] ] = W1;
W[x_ /; Evaluate[x>p1 && x<p2] ] = W2;
W[x_ /; Evaluated[x>=p2] ] = W3;
M1 = m1[x] /. solutions;
M2 = m2[x] /. solutions;
M3 = m3[x] /. solutions;
M[x_ /; Evaluate[x<=p1] ] = M1;
M[x_ /; Evaluate[x>p1 && x<p2] ] = M2;
M[x_ /; Evaluate[x>=p2] ] = M3;
plot[b] = myPlot[ W[x], {x,0,L}, PlotRange->{0,5.5},
DisplayFunction->Identity];
mplot[b] = myPlot[ M[x], {x,0,L}, PlotRange -> {-5 10^6,7 10^6},
DisplayFunction->Identity]), {b,0,1000,100} ];
```
At the end of the article, the plots of the deflection function and bending moment can be easily drawn. They have been created with the following commands:
```    Show[ {plot[0],plot[600]}, DisplayFunction->\$DisplayFunction ];
Show[ {mplot[0],mplot[600]}, DisplayFunction->\$DisplayFunction ];
```

Next: Conclusion Up: The Computer Algebra Previous: Beam on Elastic

Andre Heck
Sun Apr 23 10:32:10 MDT 1995