38 const std::string & name_in,
39 const unsigned int number_in) :
41 Parent (es, name_in, number_in),
43 _n_linear_iterations (0),
44 _final_linear_residual (1.e20),
45 _shell_matrix(nullptr),
102 if (subset !=
nullptr)
103 libmesh_assert_equal_to (&subset->
get_system(),
this);
129 const unsigned int maxits =
130 es.
parameters.
get<
unsigned int>(
"linear solver maximum iterations");
136 std::pair<unsigned int, Real> rval = std::make_pair(0,0.0);
378 *(this->
rhs) *= -1.0;
virtual void restrict_solve_to(const SystemSubset *subset, const SubsetSolveMode subset_solve_mode=SUBSET_ZERO) override
void attach_shell_matrix(ShellMatrix< Number > *shell_matrix)
virtual void assemble() override
virtual void init_data() override
Manages multiples systems of equations.
ShellMatrix< Number > * _shell_matrix
unsigned int _n_linear_iterations
virtual void add_vector(const T *v, const std::vector< numeric_index_type > &dof_indices)
const EquationSystems & get_equation_systems() const
virtual void clear() override
virtual void reinit() override
LinearImplicitSystem(EquationSystems &es, const std::string &name, const unsigned int number)
std::unique_ptr< LinearSolver< Number > > linear_solver
NumericVector< Number > * rhs
virtual void reinit() override
SubsetSolveMode _subset_solve_mode
virtual LinearSolver< Number > * get_linear_solver() const override
virtual void solve() override
virtual void init_data() override
virtual void assembly(bool get_residual, bool get_jacobian, bool apply_heterogeneous_constraints=false, bool apply_no_constraints=false) override
Manages consistently variables, degrees of freedom, and coefficient vectors.
std::unique_ptr< NumericVector< Number > > solution
virtual const std::vector< unsigned int > & dof_ids() const =0
Real _final_linear_residual
const SparseMatrix< Number > * request_matrix(const std::string &mat_name) const
virtual void release_linear_solver(LinearSolver< Number > *) const override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
SparseMatrix< Number > * matrix
const T & get(const std::string &) const
const System & get_system() const
virtual void clear() override
bool on_command_line(std::string arg)
const SystemSubset * _subset
const std::string & name() const
bool assemble_before_solve
virtual ~LinearImplicitSystem()