includes analytical solution