Approximate Methods: Point Collocation Method
The statement of the equilibrium equations applied to a set is as follows. Assuming that at equilibrium
is the symmetric Cauchy stress distribution on
and that
is the displacement vector distribution and knowing the relationship
, then the equilibrium equation seeks to find
such that the associated \sigma satisfies the equation:
where is the body forces vector distribution on
,
is the mass density, and
is the space of all possible displacement functions applied to
, i.e.,
. The term “Kinematically admissible” in
indicates that the space of possible solutions must satisfy the boundary conditions imposed on
(as stated below) and any differentiability constraints.
The boundary conditions for the equations of equilibrium are usually given on two parts of the boundary of denoted
. On the first part,
, the external traction vectors
are known so we have the boundary conditions for
since
(
is the normal vector to the boundary). On the second part,
, the displacement is given.
The point collocation method seeks an approximate solution to the above problem by assuming that the solution has a particular form with a finite number of unknowns, i.e., by looking for
in a subset
that is finite dimensional but still able to approximate functions in
. The finite number of unknowns can be found by satisfying the differential equation of equilibrium at a number of chosen points equal to the number of unknowns.
Example
Using a polynomial function of the third degree, find the displacement function of the shown bar by satisfying the essential boundary conditions, the differential equation of equilibrium at and at
., and the nonessential boundary condition at
. Assume that the bar is linear elastic with Young’s modulus
and cross-sectional area
and that the small strain tensor is the appropriate measure of strain. Ignore the effect of Poisson’s ratio.

Solution
Exact Solution
The exact solution can be obtained by directly solving the differential equation of equilibrium utilizing :

View Mathematica Code
DSolve[{u''[X1] == -c*X1/EA, u'[L] == 0, u[0] == 0}, u[X1], X1]
View Python Code
from sympy import * import sympy as sp sp.init_printing(use_latex = "mathjax") u, c, EA, x, L = symbols("u c EA x L") u = Function("u") u1 = u(x).subs(x,0) u2 = u(x).diff(x).subs(x,L) sol = dsolve(u(x).diff(x,2)+c*x/EA, u(x), ics = {u1:0, u2:0}) display(sol)
Approximate Solution
A polynomial of the third degree approximate solution has the form:
View Mathematica Code
ux = D[u, x1]
uxx = D[ux, x1]
Eq1 = (uxx + c*x1/EA) /. x1 -> L/2;
Eq2 = (uxx + c*x1/EA) /. x1 -> L;
Eq3 = (ux) /. x1 -> L;
Eq4 = u /. x1 -> 0;
s = Solve[{Eq1 == 0, Eq2 == 0, Eq3 == 0, Eq4 == 0}, {a1, a2, a3, a0}]
u /. s[[1]]
View Python Code
from sympy import * import sympy as sp sp.init_printing(use_latex = "mathjax") u, c, EA, x, L, a0, a1, a2, a3 = symbols("u c EA x L a_0 a_1 a_2 a_3") u = a0+a1*x+a2*x**2+a3*x**3 ux = u.diff(x) uxx = ux.diff(x) Eq1 = (uxx+c*x/EA).subs(x,L/2) Eq2 = (uxx+c*x/EA).subs(x,L) Eq3 = ux.subs(x,L) Eq4 = u.subs(x,0) s = solve((Eq1,Eq2,Eq3,Eq4), (a0,a1,a2,a3)) u = u.subs({a0:s[a0],a1:s[a1],a2:s[a2],a3:s[a3]}) display(u)