https://mooseframework.inl.gov
Loading...
Searching...
No Matches
AllLocalDofIndicesThread.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "Moose.h"
13#include "MooseTypes.h"
14
15#include "libmesh/elem_range.h"
16#include "libmesh/parallel_object.h"
17
18// Forward declare classes in libMesh
19namespace libMesh
20{
21class System;
22class DofMap;
23}
24class SubProblem;
25
31{
32public:
34 std::vector<std::string> vars,
35 bool include_semilocal = false);
36 // Splitting Constructor
38
39 void operator()(const libMesh::ConstElemRange & range);
40
41 void join(const AllLocalDofIndicesThread & y);
42
43 const std::set<dof_id_type> & getDofIndices() const { return _all_dof_indices; }
44
45 void dofIndicesSetUnion();
46
47protected:
50 std::vector<unsigned int> _var_numbers;
51
54
56
57 std::set<dof_id_type> _all_dof_indices;
58};
unsigned int THREAD_ID
Definition MooseTypes.h:237
char ** vars
Grab all the (possibly semi)local dof indices for the variables passed in, in the system passed in.
const std::set< dof_id_type > & getDofIndices() const
void operator()(const libMesh::ConstElemRange &range)
std::vector< unsigned int > _var_numbers
const bool _include_semilocal
Whether to include semilocal dof indices.
std::set< dof_id_type > _all_dof_indices
void join(const AllLocalDofIndicesThread &y)
Generic class for solving transient nonlinear problems.
Definition SubProblem.h:79
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...