DOLFIN User Manual - FEniCS Project

DOLFIN User Manual - FEniCS Project DOLFIN User Manual - FEniCS Project

fenicsproject.org
from fenicsproject.org More from this publisher
12.07.2015 Views

Chapter 8Nonlinear solver◮ Developer’s note: This chapter is currently being written. . .DOLFIN provides tools for solving nonlinear equations of the formF (x) = 0 (8.1)where F : R n → R n . The nonlinear solvers are based on Newton’s methodand utilise functions from PETSc [11].To use the nonlinear solver, a nonlinear function must be defined. The nonlinearsolver is then initialised with this function and a solution computed.8.1 Nonlinear functionsTo solve a nonlinear problem, the user must defined a class which . The classshould be derived from the DOLFINclass NonlinearFunction. The classshould contain the necessary functions to form the function F (u) and theJacobian matrix J = ∂F/∂u. The precise form of the user defined class willdepend on the PDE being solved and the numerical method. The structu ofa user defined class MyNonlinearFunction is shown below.53

Chapter 8Nonlinear solver◮ Developer’s note: This chapter is currently being written. . .<strong>DOLFIN</strong> provides tools for solving nonlinear equations of the formF (x) = 0 (8.1)where F : R n → R n . The nonlinear solvers are based on Newton’s methodand utilise functions from PETSc [11].To use the nonlinear solver, a nonlinear function must be defined. The nonlinearsolver is then initialised with this function and a solution computed.8.1 Nonlinear functionsTo solve a nonlinear problem, the user must defined a class which . The classshould be derived from the <strong>DOLFIN</strong>class NonlinearFunction. The classshould contain the necessary functions to form the function F (u) and theJacobian matrix J = ∂F/∂u. The precise form of the user defined class willdepend on the PDE being solved and the numerical method. The structu ofa user defined class MyNonlinearFunction is shown below.53

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!