[Linear][MatrixConverter] Unnessesary 0.00 entries in the converted matrix
Currently, when the Jacobian is converted for the linear solver (UMFPACK etc.), all the entries are read in via the matrix converter. When adding entries, all of the dofs collected in each stencil are read through, and if they are not used in the calculation (e.g. when upwinding, only one dof, not two, is used), a zero is added. In the free flow tests, this adds a bunch of zero entries that use up the solvers limited memory and slow down the simulation. During our higher order investigations the stencil gets even larger, and again, only some of the dofs are really used. This makes things unnecessarily slow. To be clear, zero entries aren't a problem, but zero entries where the zero is a double are memory heavy.
What could be done to solve this would be to check the absolute value of entries before they are added to the converted matrix. The converted matrix will take up less memory and take less time to solve.
This is implemented in branch !1292 (merged). The tests that I expected to pass on my computer pass. There are slight changes to the non-significant digits in the result files, but I believe this is noise from the way the solver handles the zeros.
Thoughts? @kweis mentioned something about compressible tests possibly creating an issue? @AndreaVescovini mentioned that this might have different effects when passed to different libraries?
Importantly, If this is a good idea, all credit to @AndreaVescovini. If this is a dumb idea, please blame me.