Public Member Functions | |
Problem_Interface (NoxNonlinearSolver< Number > *solver) | |
~Problem_Interface () | |
bool | computeF (const Epetra_Vector &x, Epetra_Vector &FVec, NOX::Epetra::Interface::Required::FillType fillType) |
Compute and return F. More... | |
bool | computeJacobian (const Epetra_Vector &x, Epetra_Operator &Jac) |
Compute an explicit Jacobian. More... | |
bool | computePrecMatrix (const Epetra_Vector &x, Epetra_RowMatrix &M) |
bool | computePreconditioner (const Epetra_Vector &x, Epetra_Operator &Prec, Teuchos::ParameterList *p) |
Public Attributes | |
NoxNonlinearSolver< Number > * | _solver |
Definition at line 45 of file trilinos_nox_nonlinear_solver.C.
|
explicit |
Definition at line 84 of file trilinos_nox_nonlinear_solver.C.
libMesh::Problem_Interface::~Problem_Interface | ( | ) |
Definition at line 90 of file trilinos_nox_nonlinear_solver.C.
bool libMesh::Problem_Interface::computeF | ( | const Epetra_Vector & | x, |
Epetra_Vector & | FVec, | ||
NOX::Epetra::Interface::Required::FillType | fillType | ||
) |
Compute and return F.
Definition at line 95 of file trilinos_nox_nonlinear_solver.C.
References _solver, libMesh::ParallelObject::comm(), libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_exactly(), libMesh::System::get_dof_map(), libMesh::NonlinearSolver< T >::matvec, libMesh::NonlinearImplicitSystem::ComputeResidual::residual(), libMesh::NonlinearSolver< T >::residual, libMesh::NonlinearImplicitSystem::ComputeResidualandJacobian::residual_and_jacobian(), libMesh::NonlinearSolver< T >::residual_and_jacobian_object, libMesh::NonlinearSolver< T >::residual_object, libMesh::ExplicitSystem::rhs, libMesh::System::solution, libMesh::EpetraVector< T >::swap(), libMesh::NonlinearSolver< T >::system(), and libMesh::System::update().
bool libMesh::Problem_Interface::computeJacobian | ( | const Epetra_Vector & | x, |
Epetra_Operator & | Jac | ||
) |
Compute an explicit Jacobian.
Definition at line 153 of file trilinos_nox_nonlinear_solver.C.
References _solver, libMesh::ParallelObject::comm(), libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_exactly(), libMesh::System::get_dof_map(), libMesh::NonlinearImplicitSystem::ComputeJacobian::jacobian(), libMesh::NonlinearSolver< T >::jacobian, libMesh::NonlinearSolver< T >::jacobian_object, libMesh::NonlinearSolver< T >::matvec, libMesh::NonlinearImplicitSystem::ComputeResidualandJacobian::residual_and_jacobian(), libMesh::NonlinearSolver< T >::residual_and_jacobian_object, libMesh::System::solution, libMesh::EpetraVector< T >::swap(), libMesh::NonlinearSolver< T >::system(), and libMesh::System::update().
bool libMesh::Problem_Interface::computePrecMatrix | ( | const Epetra_Vector & | x, |
Epetra_RowMatrix & | M | ||
) |
Compute the Epetra_RowMatrix M, that will be used by the Aztec preconditioner instead of the Jacobian. This is used when there is no explicit Jacobian present (i.e. Matrix-Free Newton-Krylov). This MUST BE an Epetra_RowMatrix since the Aztec preconditioners need to know the sparsity pattern of the matrix. Returns true if computation was successful.
Definition at line 207 of file trilinos_nox_nonlinear_solver.C.
bool libMesh::Problem_Interface::computePreconditioner | ( | const Epetra_Vector & | x, |
Epetra_Operator & | Prec, | ||
Teuchos::ParameterList * | p | ||
) |
Computes a user supplied preconditioner based on input vector x. Returns true if computation was successful.
Definition at line 215 of file trilinos_nox_nonlinear_solver.C.
References _solver, libMesh::ParallelObject::comm(), libMesh::TrilinosPreconditioner< T >::compute(), libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_exactly(), libMesh::System::get_dof_map(), libMesh::NonlinearImplicitSystem::ComputeJacobian::jacobian(), libMesh::NonlinearSolver< T >::jacobian, libMesh::NonlinearSolver< T >::jacobian_object, libMesh::TrilinosPreconditioner< T >::mat(), libMesh::NonlinearSolver< T >::matvec, libMesh::NonlinearImplicitSystem::ComputeResidualandJacobian::residual_and_jacobian(), libMesh::NonlinearSolver< T >::residual_and_jacobian_object, libMesh::System::solution, libMesh::EpetraVector< T >::swap(), libMesh::NonlinearSolver< T >::system(), and libMesh::System::update().
NoxNonlinearSolver<Number>* libMesh::Problem_Interface::_solver |
Definition at line 79 of file trilinos_nox_nonlinear_solver.C.
Referenced by computeF(), computeJacobian(), and computePreconditioner().