Dirichlet(penalty)->non-Dirichlet is even worse. Even if you edit the
matrix again, floating point error makes it impossible to just
subtract off the penalty terms; x + O(1/epsilon) - O(1/epsilon) isn't
x, it's garbage.
Cant we just reinit those edges ?
No, thanks to our sparse-matrix-based data structure and element+side
based assembly loops. If you throw out the coefficient connecting two
side DoFs, you can't just reinit the side, you've got to reinit the
element (once the BC becomes non-Dirichlet, the interior shape
function based coupling of side DoFs becomes important again). But
that would invalidate the coefficients connecting interior dofs, which
also have support on other elements, etc.
---
Roy
------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel