https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeIndicatorThread.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
16// Forward declarations
17class AuxiliarySystem;
19
20class ComputeIndicatorThread : public ThreadedElementLoop<ConstElemRange>
21{
22public:
29 ComputeIndicatorThread(FEProblemBase & fe_problem, bool finalize = false);
30
31 // Splitting Constructor
33
35
36 virtual void subdomainChanged() override;
37 virtual void onElement(const Elem * elem) override;
38 virtual void onBoundary(const Elem * elem,
39 unsigned int side,
40 BoundaryID bnd_id,
41 const Elem * lower_d_elem = nullptr) override;
42 virtual void onInternalSide(const Elem * elem, unsigned int side) override;
43 virtual void postElement(const Elem * /*elem*/) override;
44 virtual void post() override;
45
46 void join(const ComputeIndicatorThread & /*y*/);
47
48protected:
50 void printGeneralExecutionInformation() const override;
51
53 void printBlockExecutionInformation() const override;
54
57
60
63
65};
boundary_id_type BoundaryID
A system that holds auxiliary variables.
void printBlockExecutionInformation() const override
Print list of specific objects executed and in which order.
virtual void subdomainChanged() override
Called every time the current subdomain changes (i.e.
virtual void postElement(const Elem *) override
Called after the element assembly is done (including surface assembling)
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
const MooseObjectWarehouse< InternalSideIndicatorBase > & _internal_side_indicators
InternalSideIndicator Storage.
virtual void post() override
Called after the element range loop.
void join(const ComputeIndicatorThread &)
void printGeneralExecutionInformation() const override
Print general information about the loop when it executes.
const MooseObjectWarehouse< Indicator > & _indicator_whs
Indicator Storage.
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 onInternalSide(const Elem *elem, unsigned int side) override
Called when doing internal edge assembling.
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.