www.mooseframework.org
FlagElementsThread.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 FLAGELEMENTSTHREAD_H
16 #define FLAGELEMENTSTHREAD_H
17 
18 #include "ThreadedElementLoop.h"
19 
20 #include "libmesh/elem_range.h"
21 
22 class AuxiliarySystem;
23 class Adaptivity;
24 class DisplacedProblem;
25 
26 class FlagElementsThread : public ThreadedElementLoop<ConstElemRange>
27 {
28 public:
29  FlagElementsThread(FEProblemBase & fe_problem,
30  std::vector<Number> & serialized_solution,
31  unsigned int max_h_level,
32  const std::string & marker_name);
33 
34  // Splitting Constructor
35  FlagElementsThread(FlagElementsThread & x, Threads::split split);
36 
37  virtual void onElement(const Elem * elem) override;
38 
39  void join(const FlagElementsThread & /*y*/);
40 
41 protected:
43  std::shared_ptr<DisplacedProblem> _displaced_problem;
45  unsigned int _system_number;
48  unsigned int _field_var_number;
49  std::vector<Number> & _serialized_solution;
50  unsigned int _max_h_level;
51 };
52 
53 #endif // FLAGELEMENTSTHREAD_H
FlagElementsThread(FEProblemBase &fe_problem, std::vector< Number > &serialized_solution, unsigned int max_h_level, const std::string &marker_name)
Base class for assembly-like calculations.
FEProblemBase & _fe_problem
Class for stuff related to variables.
Definition: MooseVariable.h:43
unsigned int _max_h_level
unsigned int _system_number
void join(const FlagElementsThread &)
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
static PetscErrorCode Vec x
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Adaptivity & _adaptivity
std::shared_ptr< DisplacedProblem > _displaced_problem
Takes care of everything related to mesh adaptivity.
Definition: Adaptivity.h:48
unsigned int _field_var_number
std::vector< Number > & _serialized_solution
AuxiliarySystem & _aux_sys
MooseVariable & _field_var
A system that holds auxiliary variables.