Changing block structure of matrix
Hello,
When using mixed function spaces, the generic solution vector stores all dofs associated with variable 1, and then all dofs associated with variable 2, and so on. Is there an existing option within Dolfin to specify that the solution vector should group all the variables at each dof? In some applications where the variables at a given dof are tightly coupled, this can help improve the effectiveness of the preconditioner.
For example, suppose we have variables u and v. For n dofs, the default storage appears to be:
x = [u[0] u[1] u[2] ... u[n] v[0] v[1] v[2] ... v[n]]^{T}
I would like the block structure
x = [u[0] v[0] u[1] v[1] u[2] v[2] ... u[n] v[n]]^{T}
If this is not presently an option, I would appreciate any pointers on where in the source code this might be accommodated.
Thank you,
Jason
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- DOLFIN Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Jason Hicken for more information if necessary.