Apply preconditioner matrix for single mode of one variable
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | nBase |
length of inout vector |
||
| type(sll_t_spline_matrix_banded), | intent(in) | :: | precond |
preconditioner matrix (factorized!) |
||
| real(kind=wp), | intent(inout) | :: | F_inout(1:nBase) |
apply preconditioner on this force vector |
SUBROUTINE ApplyPrecond(nBase,precond,F_inout) ! MODULES USE MODgvec_base, ONLY: t_base IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES INTEGER ,INTENT(IN ) :: nBase !! length of inout vector TYPE(sll_t_spline_matrix_banded),INTENT(IN ) :: precond !! preconditioner matrix (factorized!) !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES REAL(wp), INTENT(INOUT) :: F_inout(1:nBase) !! apply preconditioner on this force vector !----------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES !=================================================================================================================================== CALL precond%solve_inplace(1,F_inout(1:nBase)) END SUBROUTINE ApplyPrecond