https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ThreadedGeneralUserObject.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 "GeneralUserObject.h"
13
16{
17public:
19
21 virtual ~ThreadedGeneralUserObject() = default;
22 virtual void threadJoin(const UserObject &) override;
23 virtual void subdomainSetup() override {};
24
25 bool needThreadedCopy() const override final { return true; }
26};
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
An instance of this object type has one copy per thread that runs on each thread.
static InputParameters validParams()
virtual ~ThreadedGeneralUserObject()=default
virtual void subdomainSetup() override
Gets called when the subdomain changes (i.e.
bool needThreadedCopy() const override final
Whether or not a threaded copy of this object is needed when obtaining it in another object,...
virtual void threadJoin(const UserObject &) override
This method is not used and should not be used in a custom GeneralUserObject.
Base class for user-specific data.
Definition UserObject.h:20