Implement parallel assembly and solve
Implement parallel assembly and solve. Target is to have all demos running in parallel in both C++ and Python.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Essential
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Registry Administrators
- Definition:
- Approved
- Series goal:
- Accepted for 1.0.x
- Implementation:
- Implemented
- Milestone target:
- 0.9.3
- Started by
- Garth Wells
- Completed by
- Anders Logg
Related branches
Sprints
Whiteboard
Important items to fix before release of 0.9.3:
[DONE] MeshFunctions
[DONE] Mesh parsing
[DONE] Partitioning (ParMETIS)
[DONE] Mesh distribution
[DONE] Coefficients/
[DONE] Mesh entity numbering
[DONE] DOF renumbering
[DONE] SparsityPattern
[DONE] Test cases / unit tests (see sandbox/demo.py)
[DONE] Partition and distribution of built-in meshes
[TODO] Benchmarking / speedup
[DONE] VTK output
[DONE] Fix bugs in Dirichlet BC (is the problem related to 'Process 1: *** Warning: Found no facets matching domain for boundary condition.'?)
[DONE] Dirichlet BC in Python not working?
[DONE] Neumann BC (should work, needs to be tested)
[DONE] Fix extraction of sub-dofmaps after renumbering
[DONE] Fix JIT compilation in parallel
[DONE] Parallelise dolfin::Scalar
[DONE] Get all demos to run in parallel
Items to fix later:
[TODO] DG (interior facet assembly)
[TODO] More advanced renumbering
[TODO] Improve efficiency of DofMapBuilder in parallel
[TODO] Viper visualisation (from C++, Python is working)
Unclear:
[TODO] Check renumbering for P0 functions. The P0 dofs are not always local to a process (they should be)