https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeMarkerThread.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;
17
18class ComputeMarkerThread : public ThreadedElementLoop<ConstElemRange>
19{
20public:
22
23 // Splitting Constructor
25
26 virtual ~ComputeMarkerThread();
27
28 virtual void subdomainChanged() override;
29 virtual void onElement(const Elem * elem) override;
30 virtual void onBoundary(const Elem * elem,
31 unsigned int side,
32 BoundaryID bnd_id,
33 const Elem * lower_d_elem = nullptr) override;
34 virtual void onInternalSide(const Elem * elem, unsigned int side) override;
35 virtual void postElement(const Elem * /*elem*/) override;
36 virtual void post() override;
37
38 void join(const ComputeMarkerThread & /*y*/);
39
40protected:
42 void printGeneralExecutionInformation() const override;
43
45 void printBlockExecutionInformation() const override;
46
49
52};
boundary_id_type BoundaryID
A system that holds auxiliary variables.
void printBlockExecutionInformation() const override
Print information about ordering of objects on each block.
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
AuxiliarySystem & _aux_sys
virtual void onInternalSide(const Elem *elem, unsigned int side) override
Called when doing internal edge assembling.
virtual void post() override
Called after the element range loop.
FEProblemBase & _fe_problem
virtual void onBoundary(const Elem *elem, unsigned int side, BoundaryID bnd_id, const Elem *lower_d_elem=nullptr) override
Called when doing boundary assembling.
virtual void postElement(const Elem *) override
Called after the element assembly is done (including surface assembling)
void join(const ComputeMarkerThread &)
const MooseObjectWarehouse< Marker > & _marker_whs
Reference to the Marker warhouse in FEProblemBase.
virtual void subdomainChanged() override
Called every time the current subdomain changes (i.e.
void printGeneralExecutionInformation() const override
Print information about the loop.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
A storage container for MooseObjects that inherit from SetupInterface.
Base class for assembly-like calculations.