I am trying to setup Mathematica to analyze a vertical round rod under its own weight, fixed on one end free on the other. I have the 1D wave equation and a distributed load to represent the self weight of the round rod.

The problem is when I compare the Mathematica solution to the textbook solution the two do not agree.

Sample problem is given below.

```
Y = 199*^9; (*Young's modulus in Pa *)
(Rho) = 7860; (* Steel density in kg/m^3*)
dia = 1/39.37; (* 1" dia converted to meters*)
c = Sqrt(Y/(Rho));
len = 1000; (*length in meters*)
tmax = 5; (* Max time for analysis*)
area = (Pi)*dia^2/4; (*Round rod cross sectional area*)
wtfactor = (Rho)*9.81*area/len;
frwt(x_) := (Rho)*
area*9.81*(1 -
x/len); (*Rod Self weight imposed as a distributed load*)
nsol6 = NDSolve({!(
*SubscriptBox(((PartialD)), ({t, 2}))(z(x, t))) == c^2*!(
*SubscriptBox(((PartialD)), ({x, 2}))(z(x, t))) + frwt(x) +
NeumannValue(0, x == len),
z(0, t) == 0}, z(x, t), {x, 0, len}, {t, 0, tmax},
Method -> {"FiniteElement",
"MeshOptions" -> {"MaxCellMeasure" -> 10}}
)
fnnsol6(x_, t_) = nsol6((1, 1, 2))
Plot3D(fnnsol6(x, t), {x, 0, len}, {t, 0, tmax},
PlotLabels -> Automatic, AxesLabel -> Automatic)
deltaL = (((Rho)*9.81*len^2)/(
Y*2)) (*Textbook elongation for a vertical rod under self weight*)
calcdeltaL =
fnnsol6(len,
5) (*Calculated delta Length from PDE solution. Should match
textbook*)
deltaLfunc(x_, l_) := (Rho)*9.81*
x*(2*len - x)/(2*Y) (*Verified Correct*)
xydata = Thread({Range(0, 1000, 100),
deltaLfunc(x, 1) /. {x -> Range(0, 1000, 100)}});
xydata2 =
Thread({Range(0, 1000, 100),
Reverse(a)}); (*Same answer different calc format for debugging*)
Show(Plot(fnnsol6(x, 0), {x, 0, len}, PlotLabels -> {"PDE Val"},
PlotRange -> All
),
ListLinePlot(xydata2, PlotStyle -> Green, PlotLabels -> {"Correct"}))
```

If you’ve read this far, thank you.

In summary my question is: Is this a Mathematica issue or a PDE setup problem? The PDE is right out of a textbook so I don’t think that’s the problem but Mathematica gives no errors and I am out of troubleshooting ideas so looking for some help.

Thank You