Panzer
Version of the Day
disc-fe
src
Panzer_OrientationContainer.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_OrientationContainer_hpp__
44
#define __Panzer_OrientationContainer_hpp__
45
46
#include "
Panzer_OrientationContainerBase.hpp
"
47
48
namespace
panzer
{
49
50
// forward declaration
51
template
<
typename
,
typename
>
class
UniqueGlobalIndexer;
52
61
template
<
typename
Scalar,
typename
Array,
typename
LocalOrdinal,
typename
GlobalOrdinal>
62
class
OrientationContainer
:
public
OrientationContainerBase
<Scalar,Array> {
63
Teuchos::RCP<const panzer::UniqueGlobalIndexer<LocalOrdinal,GlobalOrdinal>
>
globalIndexer_
;
64
std::string
fieldName_
;
65
66
public
:
67
70
OrientationContainer
(
const
Teuchos::RCP
<
const
panzer::UniqueGlobalIndexer<LocalOrdinal,GlobalOrdinal>
> & globalIndexer,
71
const
std::string & fieldName);
72
73
virtual
~OrientationContainer
() {}
74
83
virtual
void
getOrientations
(
const
std::string & blockId,
84
const
std::vector<std::size_t> & cell_local_ids,
85
Array
& orientations)
const
;
86
87
};
88
93
template
<
typename
Scalar,
typename
Array>
94
Teuchos::RCP<const panzer::OrientationContainerBase<Scalar,Array>
>
95
buildOrientationContainer
(
const
Teuchos::RCP<const panzer::UniqueGlobalIndexerBase>
& globalIndexer,
96
const
std::string & fieldName);
97
98
}
99
100
#include "
Panzer_OrientationContainer_impl.hpp
"
101
102
#endif
panzer::OrientationContainer::getOrientations
virtual void getOrientations(const std::string &blockId, const std::vector< std::size_t > &cell_local_ids, Array &orientations) const
Definition:
Panzer_OrientationContainer_impl.hpp:64
panzer::UniqueGlobalIndexer
Definition:
Panzer_GatherOrientation_decl.hpp:61
panzer::OrientationContainer::OrientationContainer
OrientationContainer(const Teuchos::RCP< const panzer::UniqueGlobalIndexer< LocalOrdinal, GlobalOrdinal > > &globalIndexer, const std::string &fieldName)
Definition:
Panzer_OrientationContainer_impl.hpp:54
panzer::OrientationContainerBase
Definition:
Panzer_OrientationContainerBase.hpp:57
Teuchos::RCP
Teuchos::Array
panzer::buildOrientationContainer
Teuchos::RCP< const panzer::OrientationContainerBase< Scalar, Array > > buildOrientationContainer(const Teuchos::RCP< const panzer::UniqueGlobalIndexerBase > &globalIndexer, const std::string &fieldName)
Definition:
Panzer_OrientationContainer_impl.hpp:88
Panzer_OrientationContainerBase.hpp
panzer::OrientationContainer::globalIndexer_
Teuchos::RCP< const panzer::UniqueGlobalIndexer< LocalOrdinal, GlobalOrdinal > > globalIndexer_
Definition:
Panzer_OrientationContainer.hpp:63
panzer::OrientationContainer::fieldName_
std::string fieldName_
Definition:
Panzer_OrientationContainer.hpp:64
panzer::OrientationContainer::~OrientationContainer
virtual ~OrientationContainer()
Definition:
Panzer_OrientationContainer.hpp:73
Panzer_OrientationContainer_impl.hpp
panzer::OrientationContainer
Definition:
Panzer_OrientationContainer.hpp:62
panzer
Definition:
Panzer_BasisValues_Evaluator_decl.hpp:54
Generated by
1.8.16