www.mooseframework.org
MaterialWarehouse.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef MATERIALWAREHOUSE_H
16 #define MATERIALWAREHOUSE_H
17 
18 // MOOSE includes
19 #include "MooseObjectWarehouse.h"
20 
21 // Forward declarations
22 class Material;
23 
32 class MaterialWarehouse : public MooseObjectWarehouse<Material>
33 {
34 public:
36 
38 
42  virtual void initialSetup(THREAD_ID tid = 0) const;
43  virtual void timestepSetup(THREAD_ID tid = 0) const;
44  virtual void subdomainSetup(THREAD_ID tid = 0) const;
45  virtual void subdomainSetup(SubdomainID id, THREAD_ID tid = 0) const;
46  virtual void neighborSubdomainSetup(THREAD_ID tid = 0) const;
47  virtual void neighborSubdomainSetup(SubdomainID id, THREAD_ID tid = 0) const;
48  virtual void jacobianSetup(THREAD_ID tid = 0) const;
49  virtual void residualSetup(THREAD_ID tid = 0) const;
50  virtual void updateActive(THREAD_ID tid = 0);
51  void sort(THREAD_ID tid = 0);
53 
57  void addObjects(std::shared_ptr<Material> block,
58  std::shared_ptr<Material> neighbor,
59  std::shared_ptr<Material> face,
60  THREAD_ID tid = 0);
61 
62 protected:
65 
68 };
69 
70 #endif // MATERIALWAREHOUSE_H
const MooseObjectWarehouse< Material > & operator[](Moose::MaterialDataType data_type) const
subdomain_id_type SubdomainID
Definition: MooseTypes.h:77
A storage container for MooseObjects that inherit from SetupInterface.
MaterialDataType
MaterialData types.
Definition: MooseTypes.h:129
virtual void jacobianSetup(THREAD_ID tid=0) const
Material objects are special in that they have additional objects created automatically (see FEProble...
virtual void timestepSetup(THREAD_ID tid=0) const
virtual void initialSetup(THREAD_ID tid=0) const
Convenience methods for calling object setup methods that handle the extra neighbor and face objects...
MooseObjectWarehouse< Material > _neighbor_materials
Stroage for neighbor material objects (Block are stored in the base class)
virtual void updateActive(THREAD_ID tid=0)
Updates the active objects storage.
Materials compute MaterialProperties.
Definition: Material.h:53
void sort(THREAD_ID tid=0)
MooseObjectWarehouse< Material > _face_materials
Stroage for face material objects (Block are stored in the base class)
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...
virtual void neighborSubdomainSetup(THREAD_ID tid=0) const
virtual void subdomainSetup(THREAD_ID tid=0) const
unsigned int THREAD_ID
Definition: MooseTypes.h:79
virtual void residualSetup(THREAD_ID tid=0) const