Multi-point Boundary Value Problems Using Finite Difference Method

  • #1
Tygra
19
4
Homework Statement
Solving a Continuous Beam
Relevant Equations
Fourth Order Differential Equation (FDM)
Hi all,

I am learning how to solve differential equtions using the finite diference method. In particular, for beams under a uniformly distributed load. For a simply supported beam this is quite easy. The boundary conditions are that at each end the displacement equal zero, and using the fourth order finite difference equation you construct the matrix. The FDM for the fourth order differential equation is:

1726009001269.png


For a 10m beam using 12 points, and applying the boundary conditions, the matrix looks like:

6 -4 1 0 0 0 0 0 0 0
-4 6 -4 1 0 0 0 0 0 0
1 -4 6 -4 1 0 0 0 0 0
0 1 -4 6 -4 1 0 0 0 0
0 0 1 -4 6 -4 1 0 0 0
0 0 0 1 -4 6 -4 1 0 0
0 0 0 0 1 -4 6 -4 1 0
0 0 0 0 0 1 -4 6 -4 1
0 0 0 0 0 0 1 -4 6 -4
0 0 0 0 0 0 0 1 -4 6

The fourth order differential is equal to the uniformly distributed load q(x). So the right-hand side is:

1726007969705.png


So, I have solved the displacements for a simply supported beam quite easily, but now I want to go further and use the FDM to solve for a continuous beam that say has 3 supports - pin support at one end with a roller support in the middle of the beam and at the other end.

yvCEb.png


There are 3 boundary conditions: The displacement is zero at each support. My question is: how do I construct the matrix using the FDM for this problem? I believe it would be called a multi-point boundary value problem. Everything I have searched only considers a two-point boundary value problem, like for the simply supported beam. I am wondering if anyone on here has knowledge on how to use the FDM for a boundary value problem for more than two points?

Many thanks in advance!

Tygra
 

Attachments

  • 1726007607629.png
    1726007607629.png
    4.1 KB · Views: 6
  • 1726007920315.png
    1726007920315.png
    4.6 KB · Views: 4
Physics news on Phys.org
  • #2
Firstly, use an odd number of nodes so one of them is exactly at the center point.

Then do exactly the same as at any other node where the displacement is known: you don't need to solve for that value, so you don't need an equation for it in your system. Wherever it occurs in the equations for the other nodes you substitute its known value and shift those terms to the right hand side.

Alternatively, if the value of node [itex]i[/itex] is known, you can replace row [itex]i[/itex] of the matrix with [tex]
\delta_{ij} = \begin{cases} 1 & i = j \\ 0 & i \neq j \end{cases}[/tex] and replace row [itex]i[/itex] of the right hand side with the known value of node [itex]i[/itex].
 
  • #3
Hi pasmith, thank you for responding.

So if I use 13 nodes, node 7 will be the centre, and thus I eliminate the column and row with respect to node 7? Which is what I did for the first and the last nodes where the displacement equals zero. So I am left with a matrix of 10 x 10 shown below:
Code:
     6    -4     1     0     0     0     0     0     0     0
    -4     6    -4     1     0     0     0     0     0     0
     1    -4     6    -4     0     0     0     0     0     0
     0     1    -4     6     1     0     0     0     0     0
     0     0     0     1     6    -4     1     0     0     0
     0     0     0     0    -4     6    -4     1     0     0
     0     0     0     0     1    -4     6    -4     1     0
     0     0     0     0     0     1    -4     6    -4     1
     0     0     0     0     0     0     1    -4     6    -4
     0     0     0     0     0     0     0     1    -4     6

I regards to moving things to the right-hand side I am not totally clear what you mean. At the moment my right-hand side looks like this:

1726067889511.png

Do you mean I have to pull a 6, -4 or 1 to the right-hand side?
 
  • #4
Can anyone help me on this?
 
Back
Top