SetParSpaces(), plus const and non-const versions of ParFESpace().
In class BlockNonlinearForm, add const and non-const methods,
FESpace().
Add some more comments/documentation.
serve as wrappers for true-dof block-vectors. This change also
fixes a bug in the method GetLocalGradient(): 'block_offsets'
was used instead of 'block_trueOffsets'.
* NonlinearForm is now an Operator between true-dof vectors.
* In both classes, essential b.c. are represented internally as a list
of true dofs.
* Move the methods GetProlongation() and GetRestriction(), which are
part of the Operator interface, from class ParNonlinearForm to the
base class, NonlinearForm.
* Add doxygen documentation.
* Add a new Update() method, similar to (Par)BilinearForm.
* The method ParNonlinearForm::GetLocalGradient() does not impose
essential b.c. - they must be imposed at the true-dof level.
using the method AssembleFaceMatrix.
In class NonlinearForm, rename the data members 'dfi', 'fbfi', etc to
use the ending 'nfi' (from nonlinear form integrator) instead of 'bfi'.
In NonlinearForm::GetEnergy, replace the warning messages with abort
calls.
In the destructor of NonlinearForm, delete the NonlinearFormIntegrator
objects stored in 'fnfi' and 'bfnfi'.
Add a version of NonlinearForm::AddBdrFaceIntegrator that allows
restricting the integrator to a subset of the boundary.
In ParNonlinearForm::GetGradient, call abort when the form has face
terms - not implemented.
In class ParNonlinearForm, add the methods GetProlongation and
GetRestriction - they use the associated ParFiniteElementSpace.
calls to ParFiniteElementSpace::GetProlongationMatrix() in places
where only the action of the matrix is required.
In ParNonlinearForm::Mult(), use the parallel prolongation operator
instead of relying on the GroupCommunicator.