www.mooseframework.org
UpdateErrorVectorsThread.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 UPDATEERRORVECTORSTHREAD_H
16 #define UPDATEERRORVECTORSTHREAD_H
17 
18 #include "ThreadedElementLoop.h"
19 
20 #include "libmesh/elem_range.h"
21 
22 class AuxiliarySystem;
23 class Adaptivity;
24 
25 class UpdateErrorVectorsThread : public ThreadedElementLoop<ConstElemRange>
26 {
27 public:
29  FEProblemBase & fe_problem,
30  const std::map<std::string, std::unique_ptr<ErrorVector>> & indicator_field_to_error_vector);
31 
32  // Splitting Constructor
33  UpdateErrorVectorsThread(UpdateErrorVectorsThread & x, Threads::split split);
34 
35  virtual void onElement(const Elem * elem) override;
36 
37  void join(const UpdateErrorVectorsThread & /*y*/);
38 
39 protected:
40  const std::map<std::string, std::unique_ptr<ErrorVector>> & _indicator_field_to_error_vector;
42  unsigned int _system_number;
44  NumericVector<Number> & _solution;
45 
46  std::map<unsigned int, ErrorVector *> _indicator_field_number_to_error_vector;
47 };
48 
49 #endif // UPDATEERRORVECTORSTHREAD_H
Base class for assembly-like calculations.
NumericVector< Number > & _solution
void join(const UpdateErrorVectorsThread &)
static PetscErrorCode Vec x
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
UpdateErrorVectorsThread(FEProblemBase &fe_problem, const std::map< std::string, std::unique_ptr< ErrorVector >> &indicator_field_to_error_vector)
Takes care of everything related to mesh adaptivity.
Definition: Adaptivity.h:48
const std::map< std::string, std::unique_ptr< ErrorVector > > & _indicator_field_to_error_vector
std::map< unsigned int, ErrorVector * > _indicator_field_number_to_error_vector
A system that holds auxiliary variables.