Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_STK_WorksetFactory.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Panzer: A partial differential equation assembly
4// engine for strongly coupled complex multiphysics systems
5//
6// Copyright 2011 NTESS and the Panzer contributors.
7// SPDX-License-Identifier: BSD-3-Clause
8// *****************************************************************************
9// @HEADER
10
11#ifndef __Panzer_STK_WorksetFactory_hpp__
12#define __Panzer_STK_WorksetFactory_hpp__
13
17
19
20namespace panzer
21{
22 struct LocalMeshInfo;
23}
24
25namespace panzer_stk {
26
31public:
33
34 WorksetFactory(const Teuchos::RCP<const STK_Interface> & mesh) : mesh_(mesh) {}
35
36 virtual ~WorksetFactory() {}
37
40 virtual
41 void setMesh(const Teuchos::RCP<const panzer_stk::STK_Interface> & mesh);
42
45 virtual
46 Teuchos::RCP<std::map<unsigned,panzer::Workset> >
48 const panzer::WorksetNeeds & needs) const;
49
52 virtual
53 Teuchos::RCP<std::map<unsigned,panzer::Workset> >
55 const panzer::WorksetNeeds & needs_a,
56 const panzer::WorksetNeeds & needs_b) const;
57
60 virtual
61 Teuchos::RCP<std::vector<panzer::Workset> >
62 getWorksets(const panzer::WorksetDescriptor & worksetDesc,
63 const panzer::WorksetNeeds & needs) const;
64
65private:
66
68 Teuchos::RCP<const STK_Interface> mesh_;
69
70 // This needs to be set at the start, but is currently setup only if the
71 // workset descriptor requiers it
73 mutable Teuchos::RCP<const panzer::LocalMeshInfo> mesh_info_;
74
75
76};
77
78}
79
80#endif
WorksetFactory(const Teuchos::RCP< const STK_Interface > &mesh)
virtual void setMesh(const Teuchos::RCP< const panzer_stk::STK_Interface > &mesh)
virtual Teuchos::RCP< std::map< unsigned, panzer::Workset > > getSideWorksets(const panzer::WorksetDescriptor &desc, const panzer::WorksetNeeds &needs) const
virtual Teuchos::RCP< std::vector< panzer::Workset > > getWorksets(const panzer::WorksetDescriptor &worksetDesc, const panzer::WorksetNeeds &needs) const
Teuchos::RCP< const STK_Interface > mesh_
Mesh.
Teuchos::RCP< const panzer::LocalMeshInfo > mesh_info_
Alternative form of mesh.