linearSolvePETSc Module Subroutine

module subroutine linearSolvePETSc(this, knownVec, unknownVec, addIdentityMat, convReason, petscGroup)

Call linearSolve routine on PETScController of this modeller. Creates PETSc objects if they've not yet been created. If addIdentityMat is true adds an identity matrix to the PETSc matrix.

Arguments

Type IntentOptional Attributes Name
class(Modeller), intent(inout) :: this
real(kind=rk), intent(in), dimension(:) :: knownVec
real(kind=rk), intent(out), dimension(:) :: unknownVec
logical, intent(in) :: addIdentityMat
integer(kind=ik), intent(inout) :: convReason
integer(kind=ik), intent(in), optional :: petscGroup