The direct solver uses the Gaussian elimination method [Lee68] and should be used for badly conditioned systems. The disadvantage of this method is the immense amount of memory (O(N2)) and operation count for inversion (O(N3)) that is unacceptable for simulations in three dimensions. Therefore it is advisable to use the implemented iterative solver which is based on the stabilized biconjugate gradient method (BiCGStab [vdV81]) using an incomplete LU factorization [Saa90] and an auto scaling algorithm[Fis94b].