1
1
// Copyright (C) 2005 Garth N. Wells.
2
2
// Licensed under the GNU GPL Version 2.
4
// Modified by Anders Logg 2006.
4
6
// First added: 2005-10-24
5
// Last changed: 2006-02-24
7
// Last changed: 2006-10-20
7
9
#include <dolfin/FEM.h>
8
10
#include <dolfin/NonlinearPDE.h>
31
33
//-----------------------------------------------------------------------------
32
void NonlinearPDE::form(Matrix& A, Vector& b, const Vector& x)
34
void NonlinearPDE::form(GenericMatrix& A, GenericVector& b, const GenericVector& x)
43
45
FEM::applyBC(A, *_mesh, _a->test(), *_bc);
44
FEM::assembleBCresidual(b, x, *_mesh, _Lf->test(), *_bc);
46
FEM::applyResidualBC(b, x, *_mesh, _Lf->test(), *_bc);
48
//FIXME: Deal with zero Neumann condition on entire boundary her. Need to fix FEM::assembleBCresidual
49
// FEM::assembleBCresidual(b, x, *_mesh, _Lf->test());
50
//FIXME: Deal with zero Neumann condition on entire boundary here. Need to
51
//fix FEM::assembleResidualFEM::assembleResidualBC(b, x, *_mesh, _Lf->test());
50
52
dolfin_error("Pure zero Neumann boundary conditions not yet implemented for nonlinear PDE.");
55
57
//-----------------------------------------------------------------------------
56
//void NonlinearPDE::F(Vector& b, const Vector& x)
58
//void NonlinearPDE::F(GenericVector& b, const GenericVector& x)
58
60
// dolfin_error("Nonlinear PDE update for F(u) has not been supplied by
61
63
//-----------------------------------------------------------------------------
62
//void NonlinearPDE::J(Matrix& A, const Vector& x)
64
//void NonlinearPDE::J(GenericMatrix& A, const GenericVector& x)
64
66
// dolfin_error("Nonlinear PDE update for Jacobian has not been supplied by