www.mooseframework.org
AllLocalDofIndicesThread.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef ALLLOCALDOFINDICESTHREAD_H
16 #define ALLLOCALDOFINDICESTHREAD_H
17 
18 #include "Moose.h"
19 #include "MooseTypes.h"
20 
21 #include "libmesh/elem_range.h"
22 
23 // Forward declare classes in libMesh
24 namespace libMesh
25 {
26 class System;
27 class DofMap;
28 }
29 
34 {
35 public:
36  AllLocalDofIndicesThread(System & sys, std::vector<std::string> vars);
37  // Splitting Constructor
38  AllLocalDofIndicesThread(AllLocalDofIndicesThread & x, Threads::split split);
39 
40  void operator()(const ConstElemRange & range);
41 
42  void join(const AllLocalDofIndicesThread & y);
43 
44  std::set<dof_id_type> _all_dof_indices;
45 
46 protected:
47  System & _sys;
48  DofMap & _dof_map;
49  std::vector<std::string> _vars;
50  std::vector<unsigned int> _var_numbers;
52 };
53 
54 #endif // ALLLOCALDOFINDICESTHREAD_H
std::vector< unsigned int > _var_numbers
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
static PetscErrorCode Vec x
Grab all the local dof indices for the variables passed in, in the system passed in.
std::set< dof_id_type > _all_dof_indices
std::vector< std::string > _vars
unsigned int THREAD_ID
Definition: MooseTypes.h:79