Energy formulation of a spring system

Constitutive behavior

F  =  k u;

Strain energy

U  =  (∫_0^u) F \[DifferentialD]u

Work of external forces

W  =  P u;

Potential Energy

Π  =  U  -  W

Minimum gives equilibrium solution

Solve[(∂_u) Π  == 0, u]

Now a more complicated example

\(\(\(Show[Import["springs.eps", "EPS"]]\)\(
\)
    \)\)

U  =  (1/2) ((Subscript[k, a]) ((Subscript[u, 1])^2) +  (Subscript[k, b]) ((((Subscript[u, 2]) - (Subscript[u, 1])))^2) + (Subscript[k, c]) ((((Subscript[u, 3]) - (Subscript[u, 1])))^2) +  ((Subscript[k, d]) + 
                  (Subscript[k, e])) ((((Subscript[u, 3]) - (Subscript[u, 2])))^2))

W  =  (Subscript[P, 1]) (Subscript[u, 1]) +  (Subscript[P, 2]) (Subscript[u, 2]) +  (Subscript[P, 3]) (Subscript[u, 3])

Π  =  U  -  W

gradΠ  =  Table[D[Π, (Subscript[u, i])], {i, 3}]

solution  =  Solve[
            gradΠ == 0, {(Subscript[u, 1]), (Subscript[u, 2]), (Subscript[u, 3])}] // Simplify // 
        Flatten

solution  /.  {(Subscript[k, a]) ->  k,  (Subscript[k, b]) ->  k,  
        (Subscript[k, c]) ->  k,  (Subscript[k, d]) ->  k,  (Subscript[k, e]) ->  k, 
        (Subscript[P, 2]) ->  0,  (Subscript[P, 1]) ->  0 }