Panzer
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
disc-fe
src
evaluators
Panzer_GlobalStatistics_decl.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_GLOBAL_STATISTICS_DECL_HPP
44
#define PANZER_GLOBAL_STATISTICS_DECL_HPP
45
46
#include <iostream>
47
#include <string>
48
#include "
Panzer_Dimension.hpp
"
49
#include "Phalanx_Evaluator_Macros.hpp"
50
#include "Phalanx_MDField.hpp"
51
#include "Kokkos_DynRankView.hpp"
52
#include "Teuchos_Comm.hpp"
53
54
#include "
Panzer_Evaluator_Macros.hpp
"
55
56
namespace
panzer
{
57
58
struct
GlobalData
;
59
60
template
<
typename
EvalT,
typename
Traits>
61
class
GlobalStatistics
62
:
63
public
panzer::EvaluatorWithBaseImpl
<Traits>,
64
public
PHX::EvaluatorDerived<EvalT, Traits>
65
{
66
public
:
67
68
GlobalStatistics
(
69
const
Teuchos::ParameterList& p);
70
71
void
72
postRegistrationSetup
(
73
typename
Traits::SetupData
d,
74
PHX::FieldManager<Traits>
& fm);
75
76
void
77
evaluateFields
(
78
typename
Traits::EvalData
d);
79
80
void
81
preEvaluate
(
82
typename
Traits::PreEvalData
d);
83
84
void
85
postEvaluate
(
86
typename
Traits::PostEvalData
d);
87
88
private
:
89
90
using
ScalarT
=
typename
EvalT::ScalarT;
91
92
PHX::MDField<ScalarT,Cell>
volumes
;
93
94
PHX::MDField<ScalarT,Cell>
tmp
;
95
96
PHX::MDField<ScalarT,Cell,IP>
ones
;
97
98
std::vector<PHX::MDField<const ScalarT,Cell,IP> >
field_values
;
99
100
ScalarT
total_volume
;
101
std::vector<ScalarT>
averages
;
102
std::vector<ScalarT>
maxs
;
103
std::vector<ScalarT>
mins
;
104
ScalarT
global_total_volume
;
105
std::vector<ScalarT>
global_averages
;
106
std::vector<ScalarT>
global_maxs
;
107
std::vector<ScalarT>
global_mins
;
108
109
int
ir_order
;
110
std::size_t
ir_index
;
111
112
Teuchos::RCP<const Teuchos::Comm<int> >
comm
;
113
114
Teuchos::RCP<panzer::GlobalData>
global_data
;
115
116
void
postprocess
(std::ostream& os);
117
118
public
:
119
const
PHX::FieldTag&
getRequiredFieldTag
();
120
121
};
// end of class GlobalStatistics
122
123
124
}
125
126
#endif
Panzer_Dimension.hpp
Panzer_Evaluator_Macros.hpp
PHX::FieldManager
Definition
Panzer_BCStrategy_Base.hpp:53
panzer::EvaluatorWithBaseImpl
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
Definition
Panzer_Evaluator_WithBaseImpl.hpp:56
panzer::GlobalStatistics::maxs
std::vector< ScalarT > maxs
Definition
Panzer_GlobalStatistics_decl.hpp:102
panzer::GlobalStatistics::mins
std::vector< ScalarT > mins
Definition
Panzer_GlobalStatistics_decl.hpp:103
panzer::GlobalStatistics::GlobalStatistics
GlobalStatistics(const Teuchos::ParameterList &p)
Definition
Panzer_GlobalStatistics_impl.hpp:62
panzer::GlobalStatistics::ir_order
int ir_order
Definition
Panzer_GlobalStatistics_decl.hpp:109
panzer::GlobalStatistics::postprocess
void postprocess(std::ostream &os)
Definition
Panzer_GlobalStatistics_impl.hpp:200
panzer::GlobalStatistics::field_values
std::vector< PHX::MDField< const ScalarT, Cell, IP > > field_values
Definition
Panzer_GlobalStatistics_decl.hpp:98
panzer::GlobalStatistics::postEvaluate
void postEvaluate(typename Traits::PostEvalData d)
Definition
Panzer_GlobalStatistics_impl.hpp:192
panzer::GlobalStatistics::ones
PHX::MDField< ScalarT, Cell, IP > ones
Definition
Panzer_GlobalStatistics_decl.hpp:96
panzer::GlobalStatistics::tmp
PHX::MDField< ScalarT, Cell > tmp
Definition
Panzer_GlobalStatistics_decl.hpp:94
panzer::GlobalStatistics::comm
Teuchos::RCP< const Teuchos::Comm< int > > comm
Definition
Panzer_GlobalStatistics_decl.hpp:112
panzer::GlobalStatistics::global_mins
std::vector< ScalarT > global_mins
Definition
Panzer_GlobalStatistics_decl.hpp:107
panzer::GlobalStatistics::postRegistrationSetup
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
Definition
Panzer_GlobalStatistics_impl.hpp:113
panzer::GlobalStatistics::global_data
Teuchos::RCP< panzer::GlobalData > global_data
Definition
Panzer_GlobalStatistics_decl.hpp:114
panzer::GlobalStatistics::global_total_volume
ScalarT global_total_volume
Definition
Panzer_GlobalStatistics_decl.hpp:104
panzer::GlobalStatistics::global_averages
std::vector< ScalarT > global_averages
Definition
Panzer_GlobalStatistics_decl.hpp:105
panzer::GlobalStatistics::ir_index
std::size_t ir_index
Definition
Panzer_GlobalStatistics_decl.hpp:110
panzer::GlobalStatistics::volumes
PHX::MDField< ScalarT, Cell > volumes
Definition
Panzer_GlobalStatistics_decl.hpp:92
panzer::GlobalStatistics::total_volume
ScalarT total_volume
Definition
Panzer_GlobalStatistics_decl.hpp:100
panzer::GlobalStatistics::global_maxs
std::vector< ScalarT > global_maxs
Definition
Panzer_GlobalStatistics_decl.hpp:106
panzer::GlobalStatistics::averages
std::vector< ScalarT > averages
Definition
Panzer_GlobalStatistics_decl.hpp:101
panzer::GlobalStatistics::getRequiredFieldTag
const PHX::FieldTag & getRequiredFieldTag()
Definition
Panzer_GlobalStatistics_impl.hpp:250
panzer::GlobalStatistics::preEvaluate
void preEvaluate(typename Traits::PreEvalData d)
Definition
Panzer_GlobalStatistics_impl.hpp:173
panzer::GlobalStatistics::evaluateFields
void evaluateFields(typename Traits::EvalData d)
Definition
Panzer_GlobalStatistics_impl.hpp:129
panzer::GlobalStatistics::ScalarT
typename EvalT::ScalarT ScalarT
Definition
Panzer_GlobalStatistics_decl.hpp:90
panzer
Computes .
Definition
Panzer_BasisValues_Evaluator_decl.hpp:54
panzer::GlobalData
Struct for global data to be stored.
Definition
Panzer_GlobalData.hpp:61
panzer::Traits::PreEvalData
const PED & PreEvalData
Definition
Panzer_Traits.hpp:137
panzer::Traits::PostEvalData
void * PostEvalData
Definition
Panzer_Traits.hpp:139
panzer::Traits::EvalData
const panzer::Workset & EvalData
Definition
Panzer_Traits.hpp:129
panzer::Traits::SetupData
const SD & SetupData
Definition
Panzer_Traits.hpp:127
Generated by
1.17.0