1) added time derivative factor. Can be set to 0 if
there is no time derivative
2) changed all out variables to inout to be safe
3) initialized all variables in gmres functions