Panzer
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
disc-fe
src
Panzer_WorksetFactoryBase.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ***********************************************************************
3
//
4
// Panzer: A partial differential equation assembly
5
// engine for strongly coupled complex multiphysics systems
6
// Copyright (2011) Sandia Corporation
7
//
8
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9
// the U.S. Government retains certain rights in this software.
10
//
11
// Redistribution and use in source and binary forms, with or without
12
// modification, are permitted provided that the following conditions are
13
// met:
14
//
15
// 1. Redistributions of source code must retain the above copyright
16
// notice, this list of conditions and the following disclaimer.
17
//
18
// 2. Redistributions in binary form must reproduce the above copyright
19
// notice, this list of conditions and the following disclaimer in the
20
// documentation and/or other materials provided with the distribution.
21
//
22
// 3. Neither the name of the Corporation nor the names of the
23
// contributors may be used to endorse or promote products derived from
24
// this software without specific prior written permission.
25
//
26
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
//
38
// Questions? Contact Roger P. Pawlowski (rppawlo@sandia.gov) and
39
// Eric C. Cyr (eccyr@sandia.gov)
40
// ***********************************************************************
41
// @HEADER
42
43
#ifndef __Panzer_WorksetFactoryBase_hpp__
44
#define __Panzer_WorksetFactoryBase_hpp__
45
46
#include <string>
47
#include <vector>
48
#include <map>
49
50
#include "
Panzer_Workset.hpp
"
51
#include "
Panzer_WorksetDescriptor.hpp
"
52
#include "
Panzer_WorksetNeeds.hpp
"
53
54
namespace
panzer
{
55
56
// Used to apply orientations to worksets constructed by factory
57
class
OrientationsInterface
;
58
62
class
WorksetFactoryBase
{
63
public
:
64
virtual
~WorksetFactoryBase
() {}
65
68
virtual
69
Teuchos::RCP<std::map<unsigned,panzer::Workset> >
70
getSideWorksets
(
const
panzer::WorksetDescriptor
& desc,
71
const
panzer::WorksetNeeds
& needs_a,
72
const
panzer::WorksetNeeds
& needs_b)
const
= 0;
73
76
virtual
77
Teuchos::RCP<std::map<unsigned,panzer::Workset> >
78
getSideWorksets
(
const
panzer::WorksetDescriptor
& desc,
79
const
panzer::WorksetNeeds
& needs)
const
= 0;
80
83
virtual
84
Teuchos::RCP<std::vector<panzer::Workset> >
85
getWorksets
(
const
WorksetDescriptor
& worksetDesc,
86
const
panzer::WorksetNeeds
& needs)
const
= 0;
87
93
void
94
setOrientationsInterface
(
const
Teuchos::RCP<const panzer::OrientationsInterface> & orientations)
95
{
orientations_
= orientations;}
96
102
Teuchos::RCP<const OrientationsInterface>
103
getOrientationsInterface
()
const
104
{
return
orientations_
;}
105
106
protected
:
107
109
Teuchos::RCP<const OrientationsInterface>
orientations_
;
110
};
111
112
}
113
114
#endif
Panzer_WorksetDescriptor.hpp
Panzer_WorksetNeeds.hpp
Panzer_Workset.hpp
panzer::OrientationsInterface
Definition
Panzer_OrientationsInterface.hpp:54
panzer::WorksetDescriptor
Definition
Panzer_WorksetDescriptor.hpp:82
panzer::WorksetFactoryBase
Definition
Panzer_WorksetFactoryBase.hpp:62
panzer::WorksetFactoryBase::~WorksetFactoryBase
virtual ~WorksetFactoryBase()
Definition
Panzer_WorksetFactoryBase.hpp:64
panzer::WorksetFactoryBase::getSideWorksets
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
panzer::WorksetFactoryBase::getSideWorksets
virtual Teuchos::RCP< std::map< unsigned, panzer::Workset > > getSideWorksets(const panzer::WorksetDescriptor &desc, const panzer::WorksetNeeds &needs) const =0
panzer::WorksetFactoryBase::setOrientationsInterface
void setOrientationsInterface(const Teuchos::RCP< const panzer::OrientationsInterface > &orientations)
Used to apply orientations to any bases added to the worksets.
Definition
Panzer_WorksetFactoryBase.hpp:94
panzer::WorksetFactoryBase::getOrientationsInterface
Teuchos::RCP< const OrientationsInterface > getOrientationsInterface() const
Get the orientations associated with the worksets.
Definition
Panzer_WorksetFactoryBase.hpp:103
panzer::WorksetFactoryBase::getWorksets
virtual Teuchos::RCP< std::vector< panzer::Workset > > getWorksets(const WorksetDescriptor &worksetDesc, const panzer::WorksetNeeds &needs) const =0
panzer::WorksetFactoryBase::orientations_
Teuchos::RCP< const OrientationsInterface > orientations_
Indexer used for applying orientations.
Definition
Panzer_WorksetFactoryBase.hpp:109
panzer
Computes .
Definition
Panzer_BasisValues_Evaluator_decl.hpp:54
panzer::WorksetNeeds
Definition
Panzer_WorksetNeeds.hpp:73
Generated by
1.17.0