www.mooseframework.org
MaterialWarehouse.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 // MOOSE includes
13 #include "MooseObjectWarehouse.h"
14 
15 // Forward declarations
16 class Material;
17 
26 class MaterialWarehouse : public MooseObjectWarehouse<Material>
27 {
28 public:
30 
32 
36  virtual void initialSetup(THREAD_ID tid = 0) const;
37  virtual void timestepSetup(THREAD_ID tid = 0) const;
38  virtual void subdomainSetup(THREAD_ID tid = 0) const;
39  virtual void subdomainSetup(SubdomainID id, THREAD_ID tid = 0) const;
40  virtual void neighborSubdomainSetup(THREAD_ID tid = 0) const;
41  virtual void neighborSubdomainSetup(SubdomainID id, THREAD_ID tid = 0) const;
42  virtual void jacobianSetup(THREAD_ID tid = 0) const;
43  virtual void residualSetup(THREAD_ID tid = 0) const;
44  virtual void updateActive(THREAD_ID tid = 0);
45  void sort(THREAD_ID tid = 0);
47 
51  void addObjects(std::shared_ptr<Material> block,
52  std::shared_ptr<Material> neighbor,
53  std::shared_ptr<Material> face,
54  THREAD_ID tid = 0);
55 
56 protected:
59 
62 };
63 
virtual void neighborSubdomainSetup(THREAD_ID tid=0) const
A storage container for MooseObjects that inherit from SetupInterface.
MaterialDataType
MaterialData types.
Definition: MooseTypes.h:459
virtual void timestepSetup(THREAD_ID tid=0) const
Material objects are special in that they have additional objects created automatically (see FEProble...
virtual void jacobianSetup(THREAD_ID tid=0) const
MooseObjectWarehouse< Material > _neighbor_materials
Storage for neighbor material objects (Block are stored in the base class)
virtual void updateActive(THREAD_ID tid=0)
Update the active status of Kernels.
subdomain_id_type SubdomainID
virtual void initialSetup(THREAD_ID tid=0) const
Convenience methods for calling object setup methods that handle the extra neighbor and face objects...
Materials compute MaterialProperties.
Definition: Material.h:46
void sort(THREAD_ID tid=0)
const MooseObjectWarehouse< Material > & operator[](Moose::MaterialDataType data_type) const
MooseObjectWarehouse< Material > _face_materials
Storage for face material objects (Block are stored in the base class)
virtual void subdomainSetup(THREAD_ID tid=0) const
void addObjects(std::shared_ptr< Material > block, std::shared_ptr< Material > neighbor, std::shared_ptr< Material > face, THREAD_ID tid=0)
A special method unique to this class for adding Block, Neighbor, and Face material objects...
unsigned int THREAD_ID
Definition: MooseTypes.h:161
virtual void residualSetup(THREAD_ID tid=0) const