https://mooseframework.inl.gov
Loading...
Searching...
No Matches
UpdateErrorVectorsThread.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 "ThreadedElementLoop.h"
13
14#include "libmesh/elem_range.h"
15
16class AuxiliarySystem;
17class Adaptivity;
18
19class UpdateErrorVectorsThread : public ThreadedElementLoop<libMesh::ConstElemRange>
20{
21public:
23 const std::map<std::string, std::unique_ptr<libMesh::ErrorVector>> &
24 indicator_field_to_error_vector);
25
26 // Splitting Constructor
28
29 virtual void onElement(const Elem * elem) override;
30
31 void join(const UpdateErrorVectorsThread & /*y*/);
32
33protected:
35 const std::map<std::string, std::unique_ptr<libMesh::ErrorVector>> &
38 unsigned int _system_number;
40 NumericVector<Number> & _solution;
41
43 std::map<unsigned int, libMesh::ErrorVector *> _indicator_field_number_to_error_vector;
44};
Takes care of everything related to mesh adaptivity.
Definition Adaptivity.h:64
A system that holds auxiliary variables.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Base class for assembly-like calculations.
NumericVector< Number > & _solution
UpdateErrorVectorsThread(FEProblemBase &fe_problem, const std::map< std::string, std::unique_ptr< libMesh::ErrorVector > > &indicator_field_to_error_vector)
const std::map< std::string, std::unique_ptr< libMesh::ErrorVector > > & _indicator_field_to_error_vector
Map from indicators to error vectors (markers solution vector)
std::map< unsigned int, libMesh::ErrorVector * > _indicator_field_number_to_error_vector
Map from indicator variable number to error vectors (markers solution vector)
void join(const UpdateErrorVectorsThread &)
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)