AbstractNonlinearSolver Class Reference

#include <AbstractNonlinearSolver.hpp>

Inherited by SimpleNewtonNonlinearSolver, and SimplePetscNonlinearSolver.

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 39 of file AbstractNonlinearSolver.hpp.


Constructor & Destructor Documentation

virtual AbstractNonlinearSolver::~AbstractNonlinearSolver (  )  [inline, virtual]

Destructor.

Definition at line 77 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:
pComputeResidual points 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)
pComputeJacobian points 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).
initialGuess A 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
fill the 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.

Referenced by AbstractNonlinearAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve().


The documentation for this class was generated from the following file:
Generated on Thu Dec 22 13:01:20 2011 for Chaste by  doxygen 1.6.3