Panzer Version of the Day
Loading...
Searching...
No Matches
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"
21
22namespace panzer {
23
24// Used to apply orientations to worksets constructed by factory
25class OrientationsInterface;
26
31public:
33
36 virtual
37 Teuchos::RCP<std::map<unsigned,panzer::Workset> >
39 const panzer::WorksetNeeds & needs_a,
40 const panzer::WorksetNeeds & needs_b) const = 0;
41
44 virtual
45 Teuchos::RCP<std::map<unsigned,panzer::Workset> >
47 const panzer::WorksetNeeds & needs) const = 0;
48
51 virtual
52 Teuchos::RCP<std::vector<panzer::Workset> >
53 getWorksets(const WorksetDescriptor & worksetDesc,
54 const panzer::WorksetNeeds & needs) const = 0;
55
61 void
62 setOrientationsInterface(const Teuchos::RCP<const panzer::OrientationsInterface> & orientations)
63 {orientations_ = orientations;}
64
70 Teuchos::RCP<const OrientationsInterface>
73
74protected:
75
77 Teuchos::RCP<const OrientationsInterface> orientations_;
78};
79
80}
81
82#endif
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
virtual Teuchos::RCP< std::map< unsigned, panzer::Workset > > getSideWorksets(const panzer::WorksetDescriptor &desc, const panzer::WorksetNeeds &needs) const =0
void setOrientationsInterface(const Teuchos::RCP< const panzer::OrientationsInterface > &orientations)
Used to apply orientations to any bases added to the worksets.
Teuchos::RCP< const OrientationsInterface > getOrientationsInterface() const
Get the orientations associated with the worksets.
virtual Teuchos::RCP< std::vector< panzer::Workset > > getWorksets(const WorksetDescriptor &worksetDesc, const panzer::WorksetNeeds &needs) const =0
Teuchos::RCP< const OrientationsInterface > orientations_
Indexer used for applying orientations.