Split DirichletBC class into two
Issue #600
new
DirichletBC
represents Dirichlet bcs (more specifically, bcs that are imposed algebraically), and for some cases it also performs the modification of matrices and vectors.
The class is getting complicated because it does too much. The representation of Dirichlet bcs is common for different assemblers, but the modification of matrices and vectors is not common to all assemblers. For this reason and to simplify the class, it makes sense to split it onto two: one class that represent a Dirichlet bc, and once class to modify matrices and vectors.
Comments (4)
-
-
reporter Free function would make more sense if
DirichletBC::apply(...)
doesn't have any state. -
- removed milestone
Removing milestone: 1.7 (automated comment)
-
DirichletBC
has a state. It caches dof indices. - Log in to comment
I guess a first step is to deprecate
DirichletBC::apply()
, and provide an alternative way of modifying LA objects. Should that be via free functions, a new class, or member functions of Vector/Matrix etc.?