21 #ifdef LIBMESH_HAVE_SLEPC 38 n_eigenpairs_to_compute(5),
39 n_basis_vectors_to_use(3*n_eigenpairs_to_compute),
40 n_converged_eigenpairs(0),
43 libmesh_experimental();
113 libMesh::out <<
"Calling the EigenSolver." << std::endl;
114 std::pair<unsigned int, unsigned int> solve_data =
132 libmesh_assert (request_jacobian);
140 bool jacobian_computed =
144 libmesh_assert(request_jacobian || !jacobian_computed);
146 bool jacobian_computed2 =
150 libmesh_assert (jacobian_computed || !jacobian_computed2);
152 return jacobian_computed && jacobian_computed2;
159 bool mass_jacobian_computed =
166 return mass_jacobian_computed;
170 libmesh_error_msg(
"Unrecognized value now_assembling = " <<
now_assembling);
187 bool jacobian_computed =
191 libmesh_assert (request_jacobian || !jacobian_computed);
193 bool jacobian_computed2 =
197 libmesh_assert (jacobian_computed || !jacobian_computed2);
199 return jacobian_computed && jacobian_computed2;
206 bool mass_jacobian_computed =
213 return mass_jacobian_computed;
217 libmesh_error_msg(
"Unrecognized value now_assembling = " <<
now_assembling);
231 bool jacobian_computed =
235 libmesh_assert (request_jacobian || !jacobian_computed);
237 bool jacobian_computed2 =
241 libmesh_assert (jacobian_computed || !jacobian_computed2);
243 return jacobian_computed && jacobian_computed2;
250 bool mass_jacobian_computed =
257 return mass_jacobian_computed;
261 libmesh_error_msg(
"Unrecognized value now_assembling = " <<
now_assembling);
266 #endif // LIBMESH_HAVE_SLEPC
virtual bool side_constraint(bool request_jacobian, DiffContext &)
const DenseMatrix< Number > & get_elem_jacobian() const
virtual void init() override
const SparseMatrix< Number > & get_matrix(const std::string &mat_name) const
virtual bool element_time_derivative(bool request_jacobian, DiffContext &)
bool have_matrix(const std::string &mat_name) const
virtual void assembly(bool get_residual, bool get_jacobian, bool apply_heterogeneous_constraints=false, bool apply_no_constraints=false) override=0
virtual void solve() override
virtual bool nonlocal_residual(bool get_jacobian, DiffContext &) override
SparseMatrix< Number > & add_matrix(const std::string &mat_name)
virtual bool nonlocal_time_derivative(bool request_jacobian, DiffContext &)
static const Real TOLERANCE
virtual bool nonlocal_constraint(bool request_jacobian, DiffContext &)
virtual bool mass_residual(bool request_jacobian, DiffContext &)
Real elem_solution_rate_derivative
Real elem_solution_derivative
double pow(double a, int b)
unsigned int n_iterations_reqd
const DifferentiablePhysics * get_physics() const
virtual ~EigenTimeSolver()
NowAssembling now_assembling
virtual bool nonlocal_mass_residual(bool request_jacobian, DiffContext &c)
SparseMatrix< Number > * matrix
unsigned int n_basis_vectors_to_use
EigenTimeSolver(sys_type &s)
virtual bool side_residual(bool get_jacobian, DiffContext &) override
virtual void reinit() override
virtual bool side_mass_residual(bool request_jacobian, DiffContext &)
virtual bool side_time_derivative(bool request_jacobian, DiffContext &)
virtual bool element_residual(bool get_jacobian, DiffContext &) override
unsigned int n_converged_eigenpairs
virtual bool element_constraint(bool request_jacobian, DiffContext &)
OStreamProxy out(std::cout)
unsigned int n_eigenpairs_to_compute
std::unique_ptr< EigenSolver< Number > > eigen_solver
Base class which defines the interface for solving eigenproblems.