https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FlagElementsThread.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;
19
20class FlagElementsThread : public ThreadedElementLoop<ConstElemRange>
21{
22public:
24 std::vector<Number> & serialized_solution,
25 unsigned int max_h_level,
26 const std::string & marker_name,
27 bool is_serialized_solution);
28
29 // Splitting Constructor
31
32 virtual void onElement(const Elem * elem) override;
33
34 // Must override this in order to avoid calling the base class method which reads the refinement
35 // flags, causing read-write data races
36 bool shouldComputeInternalSide(const Elem &, const Elem &) const override { return false; }
37
38 void join(const FlagElementsThread & /*y*/);
39
40protected:
42 std::shared_ptr<DisplacedProblem> _displaced_problem;
44 unsigned int _system_number;
47 unsigned int _field_var_number;
48 std::vector<Number> & _serialized_solution;
49 unsigned int _max_h_level;
51};
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.
FEProblemBase & _fe_problem
MooseVariableFEBase & _field_var
unsigned int _system_number
void join(const FlagElementsThread &)
std::vector< Number > & _serialized_solution
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
AuxiliarySystem & _aux_sys
unsigned int _field_var_number
bool shouldComputeInternalSide(const Elem &, const Elem &) const override
Whether to compute the internal side for the provided element-neighbor pair.
std::shared_ptr< DisplacedProblem > _displaced_problem
This class provides an interface for common operations on field variables of both FE and FV types wit...
Base class for assembly-like calculations.