Chaste Release::3.1
AbstractNonlinearSolver Class Reference

#include <AbstractNonlinearSolver.hpp>

Inheritance diagram for AbstractNonlinearSolver:

List of all members.

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 ( ) [inline, virtual]

Destructor.

Definition at line 84 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: