23 #include "libmesh/transient_system.h" 24 #include "libmesh/explicit_system.h" 25 #include "libmesh/linear_implicit_system.h" 26 #include "libmesh/nonlinear_implicit_system.h" 27 #include "libmesh/dof_map.h" 28 #include "libmesh/numeric_vector.h" 29 #include "libmesh/rb_construction.h" 30 #include "libmesh/eigen_system.h" 33 #include "libmesh/diff_solver.h" 34 #include "libmesh/nonlinear_solver.h" 35 #include "libmesh/shell_matrix.h" 36 #include "libmesh/sparse_matrix.h" 46 const std::string & name_in,
47 const unsigned int number_in) :
49 Base(es, name_in, number_in),
50 old_local_solution(nullptr),
51 older_local_solution(nullptr)
53 this->add_old_vectors();
70 this->add_old_vectors();
81 const std::vector<dof_id_type> & send_list = this->get_dof_map().get_send_list ();
83 const dof_id_type first_local_dof = Base::get_dof_map().first_dof();
84 const dof_id_type end_local_dof = Base::get_dof_map().end_dof();
87 libmesh_assert_greater_equal (end_local_dof, first_local_dof);
88 libmesh_assert_greater_equal (older_local_solution->size(), send_list.size());
89 libmesh_assert_greater_equal (old_local_solution->size(), send_list.size());
98 older_local_solution->localize (first_local_dof,
102 old_local_solution->localize (first_local_dof,
110 template <
class Base>
114 libmesh_assert_less (global_dof_number, this->get_dof_map().n_dofs());
115 libmesh_assert_less (global_dof_number, old_local_solution->size());
117 return (*old_local_solution)(global_dof_number);
122 template <
class Base>
126 libmesh_assert_less (global_dof_number, this->get_dof_map().n_dofs());
127 libmesh_assert_less (global_dof_number, older_local_solution->size());
129 return (*older_local_solution)(global_dof_number);
134 template <
class Base>
138 #ifdef LIBMESH_ENABLE_GHOSTED 144 old_local_solution = &(this->add_vector(
"_transient_old_local_solution",
true, type));
145 older_local_solution = &(this->add_vector(
"_transient_older_local_solution",
true, type));
155 #ifdef LIBMESH_HAVE_SLEPC This is the EquationSystems class.
Manages storage and variables for transient systems.
The libMesh namespace provides an interface to certain functionality in the library.
TransientSystem(EquationSystems &es, const std::string &name, const unsigned int number)
Constructor.
ParallelType
Defines an enum for parallel data structure types.