Chaste  Release::2018.1
AbstractNonlinearSolver Class Referenceabstract

#include <AbstractNonlinearSolver.hpp>

+ Inheritance diagram for AbstractNonlinearSolver:
+ Collaboration diagram for AbstractNonlinearSolver:

Public Member Functions

virtual Vec Solve (PetscErrorCode(*pComputeResidual)(SNES, Vec, Vec, void *), PetscErrorCode(*pComputeJacobian)(SNES, Vec, Mat *, Mat *, MatStructure *, void *), Vec initialGuess, unsigned fill, void *pContext)=0
 
virtual ~AbstractNonlinearSolver ()
 

Detailed Description

Abstract Nonlinear equation system solver, dictates that each solver must have a Solve function.

Definition at line 46 of file AbstractNonlinearSolver.hpp.

Constructor & Destructor Documentation

virtual AbstractNonlinearSolver::~AbstractNonlinearSolver ( )
inlinevirtual

Destructor.

Definition at line 88 of file AbstractNonlinearSolver.hpp.

Member Function Documentation

virtual Vec AbstractNonlinearSolver::Solve ( PetscErrorCode(*)(SNES, Vec, Vec, void *)  pComputeResidual,
PetscErrorCode(*)(SNES, Vec, Mat *, Mat *, MatStructure *, void *)  pComputeJacobian,
Vec  initialGuess,
unsigned  fill,
void *  pContext 
)
pure virtual

Pure virtual Solve() method.

Parameters
pComputeResidualpoints to the function which computes the residual, it must take arguments SNES (a PETSc nonlinear solver object), Vec (current guess - a vector of the correct size), Vec (a Vec of the correct size in which the residual is returned), void* (a pointer to anything you may need to refer to when calculating the residual)
pComputeJacobianpoints to the function which computes the Jacobian, it must take arguments SNES (a PETSc nonlinear solver * object), Mat* (a pointer to the Jacobian matrix) ,Mat* (a pointer to a preconditioner matrix), MatStructure* (points to the PETSc matrix type e.g. AIJ), void* (a pointer to anything you may need to refer to when calculating the residual).
initialGuessA PETSc Vec of the correct size, containing initial guesses for the nonlinear solver.
pContext[optional] A pointer to a class that may have to be used in the ComputeResidual and ComputeJacobian functions
fillthe expected maximum number of nonzeros in a row of the Jacobian matrix
Returns
Returns a PETSc Vec of the solution.

Implemented in SimpleNewtonNonlinearSolver, and SimplePetscNonlinearSolver.


The documentation for this class was generated from the following file: