https://mooseframework.inl.gov
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 {
17 public:
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...
virtual ~ThreadedGeneralUserObject()=default
ThreadedGeneralUserObject(const InputParameters &parameters)
virtual void threadJoin(const UserObject &) override
This method is not used and should not be used in a custom GeneralUserObject.
virtual void subdomainSetup() override
Gets called when the subdomain changes (i.e.
static InputParameters validParams()
const InputParameters & parameters() const
Get the parameters of the object.
bool needThreadedCopy() const override final
Whether or not a threaded copy of this object is needed when obtaining it in another object...
Base class for user-specific data.
Definition: UserObject.h:40
An instance of this object type has one copy per thread that runs on each thread. ...