$extrastylesheet
Public Member Functions | |
| BuildProjectionList (const System &system_in) | |
| BuildProjectionList (BuildProjectionList &other, Threads::split) | |
| void | unique () |
| void | operator() (const ConstElemRange &range) |
| void | join (const BuildProjectionList &other) |
Public Attributes | |
| std::vector< dof_id_type > | send_list |
Private Attributes | |
| const System & | system |
This class builds the send_list of old dof indices whose coefficients are needed to perform a projection. This may be executed in parallel on multiple threads. The end result is a send_list vector which is unsorted and may contain duplicate elements. The unique() method can be used to sort and create a unique list.
Definition at line 81 of file system_projection.C.
| libMesh::BuildProjectionList::BuildProjectionList | ( | const System & | system_in | ) | [inline] |
Definition at line 87 of file system_projection.C.
| libMesh::BuildProjectionList::BuildProjectionList | ( | BuildProjectionList & | other, |
| Threads::split | |||
| ) | [inline] |
Definition at line 92 of file system_projection.C.
| void libMesh::BuildProjectionList::join | ( | const BuildProjectionList & | other | ) |
Definition at line 1261 of file system_projection.C.
References send_list.
| void libMesh::BuildProjectionList::operator() | ( | const ConstElemRange & | range | ) |
Definition at line 1184 of file system_projection.C.
{
libmesh_not_implemented();
}
| void libMesh::BuildProjectionList::unique | ( | ) |
Definition at line 1163 of file system_projection.C.
References send_list, and libMesh::swap().
Referenced by libMesh::System::project_vector().
{
// Sort the send list. After this duplicated
// elements will be adjacent in the vector
std::sort(this->send_list.begin(),
this->send_list.end());
// Now use std::unique to remove duplicate entries
std::vector<dof_id_type>::iterator new_end =
std::unique (this->send_list.begin(),
this->send_list.end());
// Remove the end of the send_list. Use the "swap trick"
// from Effective STL
std::vector<dof_id_type>
(this->send_list.begin(), new_end).swap (this->send_list);
}
| std::vector<dof_id_type> libMesh::BuildProjectionList::send_list |
Definition at line 100 of file system_projection.C.
Referenced by join(), libMesh::System::project_vector(), and unique().
const System& libMesh::BuildProjectionList::system [private] |
Definition at line 84 of file system_projection.C.