https://9dok.org/document/yd7x00je-eigenfunction-method-determining-displacement-history-structural-dynamic-analysis.html