成员函数:
EquationSystems(MeshBase& mesh); 使用求解域网格构造
virtual ~EquationSystems()
clear(),
init(),
reinit(),
update(), update local values for all systems
1 {
2 //localize each system's vectors
3 for(unsignedint i=0; i !=this->n_system(); ++i)
4 this->get_system(i).update();
5 }
注意,一个EquationSystem可以包含多个求解系统(LinearImplicitSystem, NewmarkSystem)
n_system(),
has_system(),
get_system(), return const reference to system name
add_system(), add the system "name" to the systems array
7 {
8 T_sys* ptr = NULL;
9 if(! _systems.count(name))
10 {
11 ptr = new T_sys(*this, name,this->n_system());
12 _systems.insert(std::make_pair(name, ptr));
13 //tell all DoFObject entities to add a system
14 this->add_system_to_nodes_and_elems();
15 }
16 else
17 {
18 ptr = &(this->get_system<T_sys>(name));
19 }
20
21 return *ptr;
22 }
delete_system();
n_vars();
n_dofs();
virtual solve(); call solve on all the individual equation systems, by default, this function solves equation system once in the order they were added. (For decoupled problems)
24 {
25 libmesh_assert(this->n_systems());
26 for(unsignedint i=0; i !=this->n_systems();++i)
27 this->get_system(i).solve();
28 }
build_variable_names() ????
build_solution_vector(std::vector<Number>& soln, const std::string system_name), fill the input vector "soon" with the solution values for system "system_name", the input vector "soln" will only be assembled on processor 0, so this method only applicable to outputting plot files from proc 0.
read(), read & initialize systems from disk using XDR data format, allowing machine-independent binary output
write(),
get_mesh(), return a reference to mesh
保护成员变量:
(常量)迭代器,计数器