You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current implementation of the generalized matrix mapper (and any matrix mapper ) makes inserting values in the matrix very difficult especially when there are large blocks on bus and branch. The user needs to calculate the number of values, calculate the row, col indices, and then the actual values etc., which, IMHO, is difficult. The matrix class in GridPACK has a nice way to insert the values in the matrix where one sets the row entry, column entry, and the value. Multiple values can also be set. Note that this format follows the PETSc matrix format and is very convenient in my opinion. So, I propose we pass the matrix directly to the application through matrixGetValues call. The user can call the method on the matrix to set values. This is very convenient in my opinion.
My plan is to create a new mapper by copying GenMatrixMap to do this. This will also need adding a new method to BaseComponent but that should be relatively straightforward. This will not break any existing code. The new mapper will be only used for the EMT application.
I think we should leave EMT application out of the release. It is a big change that I don't think we'll have ready by the release time. So this issue should be excluded from the release critical path.
The current implementation of the generalized matrix mapper (and any matrix mapper ) makes inserting values in the matrix very difficult especially when there are large blocks on bus and branch. The user needs to calculate the number of values, calculate the row, col indices, and then the actual values etc., which, IMHO, is difficult. The matrix class in GridPACK has a nice way to insert the values in the matrix where one sets the row entry, column entry, and the value. Multiple values can also be set. Note that this format follows the PETSc matrix format and is very convenient in my opinion. So, I propose we pass the matrix directly to the application through
matrixGetValues
call. The user can call the method on the matrix to set values. This is very convenient in my opinion.My plan is to create a new mapper by copying GenMatrixMap to do this. This will also need adding a new method to BaseComponent but that should be relatively straightforward. This will not break any existing code. The new mapper will be only used for the EMT application.
Any objections/better suggestions?
@bjpalmer @wperkins @chenyousu @yliu250
The text was updated successfully, but these errors were encountered: