Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_WorksetFactoryBase.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_WorksetFactoryBase_hpp__
12 #define __Panzer_WorksetFactoryBase_hpp__
13 
14 #include <string>
15 #include <vector>
16 #include <map>
17 
18 #include "Panzer_Workset.hpp"
20 #include "Panzer_WorksetNeeds.hpp"
21 
22 namespace panzer {
23 
24 // Used to apply orientations to worksets constructed by factory
25 class OrientationsInterface;
26 
31 public:
32  virtual ~WorksetFactoryBase() {}
33 
36  virtual
39  const panzer::WorksetNeeds & needs_a,
40  const panzer::WorksetNeeds & needs_b) const = 0;
41 
44  virtual
47  const panzer::WorksetNeeds & needs) const = 0;
48 
51  virtual
53  getWorksets(const WorksetDescriptor & worksetDesc,
54  const panzer::WorksetNeeds & needs) const = 0;
55 
61  void
63  {orientations_ = orientations;}
64 
72  {return orientations_;}
73 
74 protected:
75 
78 };
79 
80 }
81 
82 #endif
Teuchos::RCP< const OrientationsInterface > orientations_
Indexer used for applying orientations.
virtual Teuchos::RCP< std::map< unsigned, panzer::Workset > > getSideWorksets(const panzer::WorksetDescriptor &desc, const panzer::WorksetNeeds &needs_a, const panzer::WorksetNeeds &needs_b) const =0
void setOrientationsInterface(const Teuchos::RCP< const panzer::OrientationsInterface > &orientations)
Used to apply orientations to any bases added to the worksets.
virtual Teuchos::RCP< std::vector< panzer::Workset > > getWorksets(const WorksetDescriptor &worksetDesc, const panzer::WorksetNeeds &needs) const =0
Teuchos::RCP< const OrientationsInterface > getOrientationsInterface() const
Get the orientations associated with the worksets.