https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MaxVarNDofsPerNode.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 "ThreadedNodeLoop.h"
13// libMesh includes
14#include "libmesh/node_range.h"
15
16class SolverSystem;
17
18class MaxVarNDofsPerNode : public ThreadedNodeLoop<ConstNodeRange, ConstNodeRange::const_iterator>
19{
20public:
22
23 // Splitting Constructor
25
26 virtual ~MaxVarNDofsPerNode();
27
28 virtual void onNode(ConstNodeRange::const_iterator & node_it) override;
29
30 void join(const MaxVarNDofsPerNode &);
31
32 dof_id_type max() { return _max; }
33
34protected:
37
39 size_t _max;
40
42 const DofMap & _dof_map;
43
45 std::vector<dof_id_type> _dof_indices;
46};
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
SolverSystem & _system
The nonlinear system.
void join(const MaxVarNDofsPerNode &)
virtual void onNode(ConstNodeRange::const_iterator &node_it) override
size_t _max
Maximum number of dofs for any one variable on any one node.
std::vector< dof_id_type > _dof_indices
Reusable storage.
const DofMap & _dof_map
DOF map.