Skip to content

Solve issue #225 (add `update_weight` method to `BasisProjectionOperator`)

Valentin Carlier requested to merge 225-updating-basisprojectionoperator into devel

A new update_weights method was added to BasisProjectionOperator. This method allow to recycle BasisProjectionOperator by updating the coefficient in iterative algorithms.

In the process :

-Rename assemble_mat in _assemble_mat as it should now only been called inside the class for updating the matrix.

-Made dof_mat a private attribute (self._dof_mat) of the class so that _assemble_mat doesn't take any argument and most importantly, _dof_operator is automaticaly updated when _dof_mat is (no need for creating a new ComposedLinearOperator). dof_mat is now created when instantiating the class and updated in _assemble_mat (before was created in the later function).

-Created a flag use_cache that allow for recycling some information computed in the assembly of the matrix for later use in case of repeated call to update_weights.

Some tests were also added in tests/tests_mpi/test_basis_operator to demonstrate this new functionality.

Closes #225 (closed)

Edited by Valentin Carlier

Merge request reports