https://mooseframework.inl.gov
Loading...
Searching...
No Matches
AllNodesSendListThread.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// MOOSE includes
13#include "MooseMesh.h"
14#include "ThreadedNodeLoop.h"
15
16// libMesh forward declarations
17namespace libMesh
18{
19template <typename T>
20class NumericVector;
21}
22
24 : public ThreadedNodeLoop<ConstNodeRange, ConstNodeRange::const_iterator>
25{
26public:
28 const MooseMesh & mesh,
29 const std::vector<unsigned int> & var_nums,
30 const libMesh::System & system);
31
33
34 virtual void onNode(ConstNodeRange::const_iterator & nd) override;
35
36 void join(const AllNodesSendListThread & y);
37
38 // Make the list sorted and ensure each entry is unique
39 void unique();
40
41 // Return the send_list
42 const std::vector<dof_id_type> & send_list() const;
43
44protected:
46
47private:
48 std::vector<unsigned int> _var_nums;
49
51
52 const unsigned int _system_number;
53
54 const dof_id_type _first_dof, _end_dof;
55
56 std::vector<dof_id_type> _send_list;
57};
virtual void onNode(ConstNodeRange::const_iterator &nd) override
const libMesh::System & _system
std::vector< unsigned int > _var_nums
const unsigned int _system_number
std::vector< dof_id_type > _send_list
const std::vector< dof_id_type > & send_list() const
void join(const AllNodesSendListThread &y)
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition MooseMesh.h:95
MeshBase & mesh
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...