add gauss-seidl based implicit euler step function