Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Classes | Typedefs | Enumerations | Functions
panzer Namespace Reference

Computes $ Ma(x)b(x)\cdots\int s(x)\nabla\phi(x)\,dx $. More...

Namespaces

 dof_functors
 
 kokkos_utils
 
 partitioning_utilities
 
 impl
 
 response_bc_adapters
 
 panzer_tmp
 
 orientation_helpers
 
 Expr
 Contains all symbols which support panzer::Expr::Eval.
 

Classes

class  BasisValues_Evaluator
 Interpolates basis DOF values to IP DOF values. More...
 
class  CellAverage
 
class  CellExtreme
 
class  Constant
 
class  ConstantFlux
 
class  ConstantVector
 
class  CoordinatesEvaluator
 
class  Copy
 
class  CrossProduct
 Evaluates cross product at a set of points. More...
 
class  DirichletResidual
 Evaluates a Dirichlet BC residual corresponding to a field value. More...
 
class  DirichletResidual_EdgeBasis
 
class  DirichletResidual_FaceBasis
 
class  DOF
 Interpolates basis DOF values to IP DOF values. More...
 
class  DOF< typename TRAITS::Jacobian, TRAITS >
 
class  DOF_BasisToBasis
 Interpolates DOF coefficients on one basis to points on another basis. This is used with nodal bases to map DOF coefficient values from one nodal basis to dof coefficients on another basis. More...
 
class  DOF_PointField
 Interpolates basis DOF using reference coordinates defined by a field. More...
 
class  DOF_PointValues
 Interpolates basis DOF values to IP DOF Curl values. More...
 
class  DOF_PointValues< typename TRAITS::Jacobian, TRAITS >
 
class  DOFCurl
 Interpolates basis DOF values to IP DOF Curl values. More...
 
class  DOFCurl< typename TRAITS::Jacobian, TRAITS >
 
class  DOFDiv
 Interpolates basis DOF values to IP DOF Div values. More...
 
class  DOFDiv< panzer::Traits::Jacobian, TRAITS >
 
class  EvaluateDOFDiv_withSens
 
class  DOFGradient
 Interpolates basis DOF values to IP DOF Gradient values. More...
 
class  DotProduct
 Evaluates dot product at a set of points. More...
 
class  EvaluatorWithBaseImpl
 Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers. More...
 
class  FieldSpy
 
class  GatherBasisCoordinates
 Gathers coordinates for the basis function from the workset and stores them in the field manager. More...
 
class  GatherIntegrationCoordinates
 Gathers coordinates for the quadrature from the workset and stores them in the field manager. More...
 
class  GatherNormals
 Gathers tangent vectors per field from the global indexer and stores them in the field manager. More...
 
class  GatherOrientation
 Gathers orientations per field from the global indexer and stores them in the field manager. More...
 
class  GatherSolution_BlockedEpetra
 Gathers solution values from the Newton solution vector into the nodal fields of the field manager. More...
 
class  GatherSolution_BlockedEpetra< panzer::Traits::Residual, TRAITS, LO, GO >
 GatherSolution_BlockedEpetra (Residual Specialization). More...
 
class  GatherSolution_BlockedEpetra< panzer::Traits::Tangent, TRAITS, LO, GO >
 GatherSolution_BlockedEpetra (Tangent Specialization). More...
 
class  GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >
 GatherSolution_BlockedEpetra (Jacobian Specialization). More...
 
class  GatherSolution_BlockedEpetra< panzer::Traits::Hessian, TRAITS, LO, GO >
 GatherSolution_BlockedEpetra (Hessian Specialization). More...
 
class  BlockedTpetraLinearObjContainer
 
class  GatherSolution_BlockedTpetra
 Gathers solution values from the Newton solution vector into the nodal fields of the field manager. More...
 
class  GatherSolution_BlockedTpetra< panzer::Traits::Residual, TRAITS, S, LO, GO, NodeT >
 
class  GatherSolution_BlockedTpetra< panzer::Traits::Tangent, TRAITS, S, LO, GO, NodeT >
 
class  GatherSolution_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, S, LO, GO, NodeT >
 
class  GatherSolution_BlockedTpetra< panzer::Traits::Hessian, TRAITS, S, LO, GO, NodeT >
 
class  GatherSolution_Epetra
 Gathers solution values from the Newton solution vector into the nodal fields of the field manager. More...
 
class  GatherSolution_Epetra< panzer::Traits::Residual, TRAITS, LO, GO >
 GatherSolution_Epetra (Residual Specialization). More...
 
class  GatherSolution_Epetra< panzer::Traits::Tangent, TRAITS, LO, GO >
 GatherSolution_Epetra (Tangent Specialization). More...
 
class  GatherSolution_Epetra< panzer::Traits::Jacobian, TRAITS, LO, GO >
 GatherSolution_Epetra (Jacobian Specialization). More...
 
class  GatherSolution_Epetra< panzer::Traits::Hessian, TRAITS, LO, GO >
 GatherSolution_Epetra (Hessian Specialization) More...
 
class  GatherSolution_Input
 
class  GatherSolution_Tpetra
 Gathers solution values from the Newton solution vector into the nodal fields of the field manager. More...
 
class  GatherSolution_Tpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >
 
class  GatherSolution_Tpetra< panzer::Traits::Tangent, TRAITS, LO, GO, NodeT >
 
class  GatherSolution_Tpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >
 
class  GatherSolution_Tpetra< panzer::Traits::Hessian, TRAITS, LO, GO, NodeT >
 
class  GatherTangent_BlockedEpetra
 GatherTangent_BlockedEpetra. More...
 
class  GatherTangent_BlockedTpetra
 Gathers tangent vectors dx/dp for computing df/dx*dx/dp + df/dp into the nodal fields of the field manager. More...
 
class  GatherTangent_Epetra
 GatherTangent_Epetra. More...
 
class  GatherTangent_Tpetra
 Gathers tangent vectors dx/dp for computing df/dx*dx/dp + df/dp into the nodal fields of the field manager. More...
 
class  GatherTangents
 Gathers tangent vectors per field from the global indexer and stores them in the field manager. More...
 
class  GlobalStatistics
 
class  Integrator_BasisTimesScalar
 Computes $ Ma(x)b(x)\cdots\int s(x)\phi(x)\,dx $. More...
 
class  Integrator_BasisTimesTensorTimesVector
 Computes $ \int (a(x)\cdots\vec{s}(x))\cdot\vec{\phi}(x)\,dx $. More...
 
class  Integrator_BasisTimesVector
 Computes $ Ma(x)b(x)\cdots\int\vec{s}(x)\cdot\vec{\phi}(x)\,dx $. More...
 
class  Integrator_CurlBasisDotVector
 Computes $ Ma(x)b(x)\cdots\int\nabla\times\vec{\phi}\cdot\vec{v}\, dx $. More...
 
class  Integrator_DivBasisTimesScalar
 Computes $ Ma(x)b(x)\cdots\int s(x)\nabla\cdot\vec{\phi(x)}\,dx $. More...
 
class  Integrator_GradBasisCrossVector
 Computes $ Ma(x)b(x)\cdots\int(\nabla\phi(x))\times \vec{s}(x)\,dx $. More...
 
class  Integrator_GradBasisDotVector
 Computes $ Ma(x)b(x)\cdots\int\vec{s}(x)\cdot\nabla\phi(x)\,dx $. More...
 
class  Integrator_GradBasisTimesScalar
 
class  Integrator_Scalar
 
class  Integrator_TransientBasisTimesScalar
 
class  InterfaceResidual
 Evaluates an interface BC residual contribution. More...
 
class  ScalarParameterEntry
 
class  MultiVariateParameter
 Constant parameter from sacado parameter library. More...
 
class  NeumannResidual
 Evaluates a Neumann BC residual contribution. More...
 
class  Normals
 
class  Parameter
 Constant parameter from sacado parameter library. More...
 
class  PointValues_Evaluator
 Interpolates basis DOF values to IP DOF values. More...
 
class  Product
 
struct  V_MultiplyFunctor
 
class  ProjectToEdges
 Given a function stored as a vector and the tangents at each edge, project the vector onto the edge basis. More...
 
class  ProjectToFaces
 Given a function stored as a vector and the tangents at each edge, project the vector onto the edge basis. More...
 
class  ReorderADValues_Evaluator
 Reorders the ad values of a specified field to match a different unique global indexer. More...
 
class  ReorderADValues_Evaluator< typename TRAITS::Jacobian, TRAITS >
 
class  ScalarToVector
 Interpolates basis DOF values to IP DOF values. More...
 
class  ScatterDirichletResidual_BlockedEpetra
 Pushes residual values into the residual vector for a Newton-based solve. More...
 
class  ScatterDirichletResidual_BlockedEpetra< panzer::Traits::Residual, TRAITS, LO, GO >
 
class  ScatterDirichletResidual_BlockedEpetra< panzer::Traits::Tangent, TRAITS, LO, GO >
 
class  ScatterDirichletResidual_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >
 
class  ScatterDirichletResidual_BlockedEpetra< panzer::Traits::Hessian, TRAITS, LO, GO >
 
class  ScatterDirichletResidual_BlockedTpetra
 Pushes residual values into the residual vector for a Newton-based solve. More...
 
class  ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >
 
class  ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >
 
class  ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Hessian, TRAITS, LO, GO, NodeT >
 
class  ScatterDirichletResidual_Epetra
 Pushes residual values into the residual vector for a Newton-based solve. More...
 
class  ScatterDirichletResidual_Epetra< panzer::Traits::Residual, TRAITS, LO, GO >
 
class  ScatterDirichletResidual_Epetra< panzer::Traits::Tangent, TRAITS, LO, GO >
 
class  ScatterDirichletResidual_Epetra< panzer::Traits::Jacobian, TRAITS, LO, GO >
 
class  ScatterDirichletResidual_Epetra< panzer::Traits::Hessian, TRAITS, LO, GO >
 
class  ScatterDirichletResidual_Tpetra
 Pushes residual values into the residual vector for a Newton-based solve. More...
 
class  ScatterDirichletResidual_Tpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >
 
class  ScatterDirichletResidual_Tpetra< panzer::Traits::Tangent, TRAITS, LO, GO, NodeT >
 
class  ScatterDirichletResidual_Tpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >
 
class  ScatterDirichletResidual_Tpetra< panzer::Traits::Hessian, TRAITS, LO, GO, NodeT >
 
class  ScatterResidual_BlockedEpetra
 Pushes residual values into the residual vector for a Newton-based solve. More...
 
class  ScatterResidual_BlockedEpetra< panzer::Traits::Residual, TRAITS, LO, GO >
 
class  ScatterResidual_BlockedEpetra< panzer::Traits::Tangent, TRAITS, LO, GO >
 
class  ScatterResidual_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >
 
class  ScatterResidual_BlockedEpetra< panzer::Traits::Hessian, TRAITS, LO, GO >
 
class  ScatterResidual_BlockedTpetra
 Pushes residual values into the residual vector for a Newton-based solve. More...
 
class  ScatterResidual_BlockedTpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >
 
class  ScatterResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >
 
class  ScatterResidual_BlockedTpetra< panzer::Traits::Hessian, TRAITS, LO, GO, NodeT >
 
class  ScatterResidual_Epetra
 Pushes residual values into the residual vector for a Newton-based solve. More...
 
class  ScatterResidual_Epetra< panzer::Traits::Residual, TRAITS, LO, GO >
 
class  ScatterResidual_Epetra< panzer::Traits::Tangent, TRAITS, LO, GO >
 
class  ScatterResidual_Epetra< panzer::Traits::Jacobian, TRAITS, LO, GO >
 
class  ScatterResidual_Epetra< panzer::Traits::Hessian, TRAITS, LO, GO >
 
class  ScatterResidual_Tpetra
 Pushes residual values into the residual vector for a Newton-based solve. More...
 
class  ScatterResidual_Tpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >
 
class  ScatterResidual_Tpetra< panzer::Traits::Tangent, TRAITS, LO, GO, NodeT >
 
class  ScatterResidual_Tpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >
 
class  ScatterResidual_Tpetra< panzer::Traits::Hessian, TRAITS, LO, GO, NodeT >
 
class  SubcellSum
 
class  Sum
 
class  SumStatic
 
class  SumStatic< EvalT, TRAITS, Tag0, void, void >
 
class  SumStatic< EvalT, TRAITS, Tag0, Tag1, void >
 
class  TensorToStdVector
 Transform at Tensor to a std::vector of PHX-vectors. More...
 
class  TestScatter
 
class  VectorToScalar
 
class  WeakDirichletResidual
 Evaluates a Weak Dirichlet BC residual contribution. More...
 
class  ZeroContributedField
 Build a field using a specified data layout, and set it to zero. More...
 
class  BlockedEpetraLinearObjContainer
 
class  BlockedEpetraLinearObjFactory
 
class  BlockedTpetraLinearObjFactory
 
class  EpetraLinearObjContainer
 
class  LinearObjContainer
 
class  LinearObjFactory
 
class  ThyraObjContainer
 
class  ThyraObjFactory
 
class  TpetraLinearObjContainer
 
class  TpetraLinearObjFactory
 
struct  ArrayTraits
 
class  AssemblyEngine
 Class for the matrix and residual fill. More...
 
class  AssemblyEngineInArgs
 
class  AssemblyEngine_TemplateBuilder
 
class  AssemblyEngine_TemplateManager
 
class  Base
 Non-templated empty base class for template managers. More...
 
class  BasisDescriptor
 
class  BasisInformation
 Description and data layouts associated with a particular basis. More...
 
class  BasisIRLayout
 
struct  StrBasisComp
 Simple binary comparison class to help with sorting. More...
 
class  BasisValues2
 
class  BC
 Stores input information for a boundary condition. More...
 
struct  LessBC
 
class  BCStrategyBase
 Non-templated empty base class for BCStrategy objects. More...
 
class  BCStrategy
 
class  BCStrategy_Dirichlet_DefaultImpl
 
class  BCStrategy_TemplateManager
 
struct  BCStrategyFactory
 Interface for constructing a BCStrategy_TemplateManager. More...
 
struct  BCFactoryComposite
 
class  BCStrategy_Interface_DefaultImpl
 
class  BCStrategy_Neumann_DefaultImpl
 
class  BCStrategy_WeakDirichlet_DefaultImpl
 
class  BlockedDOFManagerFactory
 
class  BlockedVector_ReadOnly_GlobalEvaluationData
 This class encapsulates the needs of a gather operation to do a halo exchange for blocked vectors. More...
 
class  BlockedVector_Write_GlobalEvaluationData
 This class encapsulates the needs of a gather operation to do a // halo exchange for blocked vectors. //. More...
 
class  CellData
 Data for determining cell topology and dimensionality. More...
 
class  CellTopologyInfo
 
class  CloneableEvaluator
 Non-templated empty base class for template managers. More...
 
class  ClosureModelFactory
 
class  ClosureModelFactoryBase
 
class  ClosureModelFactoryComposite
 
class  ClosureModelFactoryComposite_TemplateBuilder
 
class  ClosureModelFactory_TemplateManager
 
class  CommaSeparatedEntryValidator
 
class  Intrepid2FieldContainerFactory
 
class  MDFieldArrayFactory
 
struct  Dim
 
struct  IP
 
struct  BASIS
 
struct  Point
 
struct  Cell
 
struct  Face
 
struct  Edge
 
struct  Dummy
 
class  DOFManagerFactory
 
class  EpetraVector_ReadOnly_GlobalEvaluationData
 This class provides a boundary exchange communication mechanism for vectors. More...
 
class  EpetraVector_Write_GlobalEvaluationData
 This class provides a boundary exchange communication mechanism for vectors. More...
 
class  EquationSet
 
class  EquationSetBase
 Non-templated empty base class for EquationSet objects. More...
 
class  EquationSet_DefaultImpl
 
struct  EquationSetFactory
 Allocates and initializes an equation set template manager. More...
 
class  EquationSet_FactoryComposite
 
class  EquationSet_TemplateManager
 
struct  EvaluationTraits
 
class  DomainEvaluator
 Mix-in interface to support cell "domains" in panzer. More...
 
class  EvaluatorsRegistrar
 
class  ExplicitModelEvaluator
 
class  FaceToElement
 
class  FieldLibraryBase
 
class  FieldLayoutLibrary
 
class  FieldLibrary
 
class  GenericEvaluatorFactory
 
class  EmptyEvaluatorFactory
 
class  FieldManagerBuilder
 
struct  GlobalData
 Struct for global data to be stored. More...
 
class  GlobalDataAcceptor
 Interface for accessing the GlobalData object. More...
 
class  GlobalDataAcceptorDefaultImpl
 Default implementation for accessing the GlobalData object. More...
 
class  GlobalEvaluationData
 
class  GlobalEvaluationData_Default
 
class  GlobalEvaluationData_BCAdjustment
 
class  GlobalEvaluationDataContainer
 
class  GlobalIndexerFactory
 
class  HP
 Singleton class for accessing kokkos hierarchical parallelism parameters. More...
 
struct  ICFieldDescriptor
 
class  IntegrationDescriptor
 
class  IntegrationRule
 
class  IntegrationValues2
 
class  basic_ios_all_saver
 
class  L2Projection
 Unified set of tools for building objects for lumped and consistent L2 projects between bases. More...
 
struct  LocalMeshInfoBase
 
struct  LocalMeshPartition
 
struct  LocalMeshSidesetInfo
 
struct  LocalMeshBlockInfo
 
struct  LocalMeshInfo
 
class  LOCPair_GlobalEvaluationData
 
class  MassMatrixModelEvaluator
 
class  MaterialModelEntry
 Class the holds parsed input data for material models. More...
 
class  ModelEvaluator
 
class  ModelEvaluator_Epetra
 
class  OrientationContainer
 
class  OrientationContainerBase
 
class  OutputStream
 Interface for handling output in Panzer. More...
 
class  OutputStreamDefaultImpl
 Default implementation. More...
 
class  ParameterLibraryAcceptor
 Pure Virtual base class for accepting the parameter library. More...
 
class  ParameterLibraryAcceptor_DefaultImpl
 Pure Virtual base class for accepting the parameter library. More...
 
class  ParameterList_GlobalEvaluationData
 
class  PhysicsBlock
 Object that contains information on the physics and discretization of a block of elements with the SAME topology. More...
 
class  PointDescriptor
 
class  PointGenerator
 
class  PointRule
 
class  PointValues2
 
class  PureBasis
 Description and data layouts associated with a particular basis. More...
 
struct  StrPureBasisComp
 Simple binary comparison class to help with sorting. More...
 
class  ReadOnlyVector_GlobalEvaluationData
 
class  SubcellConnectivity
 
class  FaceConnectivity
 Generates a SubcellConnectivity associated with faces and cells given a partition of the local mesh. More...
 
class  TpetraVector_ReadOnly_GlobalEvaluationData
 
struct  Traits
 
class  TypeAssocMap
 
class  VectorTemplateIterator
 
class  ConstVectorTemplateIterator
 
class  WorksetDetails
 
class  Workset
 
class  WorksetDetailsAccessor
 
class  WorksetContainer
 Class that provides access to worksets on each element block and side set. More...
 
class  WorksetDescriptor
 
class  WorksetFactoryBase
 
struct  WorksetNeeds
 
class  WriteVector_GlobalEvaluationData
 
class  PAPICounter
 
class  PAPICounter2
 Interface to papi counters. More...
 
class  Response_ExtremeValue
 
class  Response_Functional
 
class  Response_IPCoordinates
 
class  Response_Probe
 
class  Response_Residual
 
class  Response_Residual< panzer::Traits::Residual >
 
class  Response_Residual< panzer::Traits::Jacobian >
 
class  Response_Residual< panzer::Traits::Hessian >
 
class  ResponseBase
 
class  ResponseEvaluatorFactory
 
class  ResponseEvaluatorFactory_ExtremeValue
 
struct  ExtremeValueResponse_Builder
 
class  ResponseEvaluatorFactory_Functional
 
struct  FunctionalResponse_Builder
 
class  ResponseEvaluatorFactory_IPCoordinates
 
struct  ResponseEvaluatorFactory_IPCoordinates_Builder
 
class  ResponseEvaluatorFactory_Probe
 
struct  ProbeResponse_Builder
 
class  ResponseEvaluatorFactory_TemplateManager
 
class  ResponseEvaluatorFactoryBase
 
class  ResponseLibrary
 
class  RVEF2
 
class  ResponseMESupport_Default
 
class  ResponseMESupport_Default< panzer::Traits::Jacobian >
 
class  ResponseMESupport_Default< panzer::Traits::Tangent >
 
class  ResponseMESupport_Default< panzer::Traits::Hessian >
 
class  ResponseMESupportBase
 
class  ResponseMESupportBase< panzer::Traits::Jacobian >
 
class  ResponseMESupportBase< panzer::Traits::Tangent >
 
class  ResponseMESupportBase< panzer::Traits::Hessian >
 
class  ResponseMESupportBuilderBase
 
class  ExtremeValueScatterBase
 
class  ExtremeValueScatter
 
class  ResponseScatterEvaluator_ExtremeValue
 
class  FunctionalScatterBase
 
class  FunctionalScatter
 
class  ResponseScatterEvaluator_Functional
 
class  ResponseScatterEvaluator_IPCoordinates
 
class  ProbeScatterBase
 
class  ProbeScatter
 
class  ResponseScatterEvaluator_ProbeBase
 
class  ResponseScatterEvaluator_Probe
 
class  ResponseScatterEvaluator_Probe< panzer::Traits::Jacobian, panzer::Traits, LO, GO >
 
struct  pair_hash
 
struct  MemUsage
 The memory usage information. More...
 
class  BlockedDOFManager
 
class  ConnManager
 Pure virtual base class for supplying mesh connectivity information to the DOF Manager. More...
 
class  DOFManager
 
class  EdgeFieldPattern
 
class  ElemFieldPattern
 
class  FaceFieldPattern
 
class  FieldAggPattern
 
class  FieldPattern
 
class  Filtered_GlobalIndexer
 
class  GeometricAggFieldPattern
 
class  GlobalIndexer
 
class  ArrayToFieldVectorEpetra
 
class  ArrayToFieldVector
 
class  Intrepid2FieldPattern
 
class  NodalFieldPattern
 

Typedefs

typedef std::pair< std::string,
Teuchos::RCP
< panzer::BasisIRLayout > > 
StrBasisPair
 
using NODE = BASIS
 
typedef basic_ios_all_saver< char > ios_all_saver
 
typedef basic_ios_all_saver
< wchar_t > 
wios_all_saver
 
typedef
Sacado::ScalarParameterLibrary
< panzer::EvaluationTraits
ParamLib
 
typedef
Sacado::ScalarParameterVector
< panzer::EvaluationTraits
ParamVec
 
typedef std::pair< std::string,
Teuchos::RCP
< panzer::PureBasis > > 
StrPureBasisPair
 
typedef
Kokkos::Compat::KokkosDeviceWrapperNode
< PHX::Device > 
TpetraNodeType
 

Enumerations

enum  EvaluatorStyle { EvaluatorStyle::CONTRIBUTES, EvaluatorStyle::EVALUATES }
 An indication of how an Evaluator will behave. More...
 
enum  BCType { BCT_Dirichlet, BCT_Neumann, BCT_Interface }
 Type of boundary condition. More...
 
enum  EVerbosityLevel {
  VERB_NONE, VERB_LOW, VERB_MEDIUM, VERB_HIGH,
  VERB_EXTREME
}
 
enum  WorksetSizeType : int { CLASSIC_MODE =-2, ALL_ELEMENTS =-1, NO_ELEMENTS =0 }
 Special values for the workset size. When the workset size is set on the WorksetDescriptor an interger value can be set, or one of these special enums can be used. More...
 
enum  MemUsageType { MEM_USAGE_CURRENT, MEM_USAGE_PEAK }
 
enum  FieldType { FieldType::CG, FieldType::DG }
 The type of discretization to use for a field pattern. More...
 

Functions

template<typename EvalT , typename Traits >
Teuchos::RCP< PHX::Evaluator
< Traits > > 
cellAverageEvaluator (const std::string &averageName, const std::string &fieldName, const Teuchos::RCP< const panzer::IntegrationRule > &ir)
 
template<typename EvalT , typename TraitsT >
Teuchos::RCP< DotProduct
< EvalT, TraitsT > > 
buildEvaluator_DotProduct (const std::string &resultName, const panzer::PointRule &pr, const std::string &vecA, const std::string &vecB, double multiplier=1, const std::string &fieldMultiplier="")
 Build a dot product evaluator. Evaluates dot product at a set of points. More...
 
template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 , typename Tag2 >
Teuchos::RCP< PHX::Evaluator
< TRAITS > > 
buildStaticSumEvaluator (const std::string &sum_name, const std::vector< std::string > &value_names, const Teuchos::RCP< PHX::DataLayout > &data_layout)
 
template<typename EvalT , typename Traits >
Teuchos::RCP< PHX::Evaluator
< Traits > > 
tensorToStdVectorEvaluator (const std::string &tensorName, const std::string &vectorPrefix, const std::vector< std::string > &postfix, const Teuchos::RCP< const PHX::DataLayout > &tensorLayout, const Teuchos::RCP< const PHX::DataLayout > &vectorLayout)
 
template<typename EvalT , typename Traits >
Teuchos::RCP< PHX::Evaluator
< Traits > > 
tensorToStdVectorEvaluator (const std::string &tensorName, const std::vector< std::string > &postfix, const Teuchos::RCP< const PHX::DataLayout > &tensorLayout, const Teuchos::RCP< const PHX::DataLayout > &vectorLayout)
 
template<typename EvalT , typename Traits >
Teuchos::RCP< PHX::Evaluator
< Traits > > 
vectorToScalarEvaluator (const std::string &vectorName, const std::string &scalarPrefix, const std::vector< std::string > &postfix, const Teuchos::RCP< const PHX::DataLayout > &vectorLayout, const Teuchos::RCP< const PHX::DataLayout > &scalarLayout)
 
template<typename EvalT , typename Traits >
Teuchos::RCP< PHX::Evaluator
< Traits > > 
vectorToScalarEvaluator (const std::string &vectorName, const std::vector< std::string > &postfix, const Teuchos::RCP< const PHX::DataLayout > &vectorLayout, const Teuchos::RCP< const PHX::DataLayout > &scalarLayout)
 
Teuchos::RCP< const
LinearObjFactory
< panzer::Traits > > 
cloneWithNewDomain (const LinearObjFactory< panzer::Traits > &lof, const Teuchos::RCP< const GlobalIndexer > &dUgi)
 Clone a linear object factory, but using a different domain. More...
 
Teuchos::RCP< const
LinearObjFactory
< panzer::Traits > > 
cloneWithNewRange (const LinearObjFactory< panzer::Traits > &lof, const Teuchos::RCP< const GlobalIndexer > &rUgi)
 Clone a linear object factory, but using a different range. More...
 
Teuchos::RCP< const
LinearObjFactory
< panzer::Traits > > 
cloneWithNewRangeAndDomain (const LinearObjFactory< panzer::Traits > &lof, const Teuchos::RCP< const GlobalIndexer > &rUgi, const Teuchos::RCP< const GlobalIndexer > &dUgi)
 Clone a linear object factory, but using a different range and domain. More...
 
std::ostream & operator<< (std::ostream &os, const AssemblyEngineInArgs &in)
 
Teuchos::RCP
< panzer::BasisIRLayout
basisIRLayout (std::string basis_type, const int basis_order, const PointRule &pt_rule)
 Nonmember constructor. More...
 
Teuchos::RCP
< panzer::BasisIRLayout
basisIRLayout (const Teuchos::RCP< const PureBasis > &b, const PointRule &pt_rule)
 Nonmember constructor. More...
 
std::ostream & operator<< (std::ostream &os, const panzer::BC &bc)
 
WorksetDescriptor bcDescriptor (const panzer::BC &bc)
 
template<typename EvalT >
void buildAndRegisterSubsetOfClosureModelEvaluatorsForType (PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &pb, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &factory, const std::string comma_sep_closure_model_list, const Teuchos::ParameterList &models, const Teuchos::ParameterList &user_data)
 Builds the closure models for a particular physics block for a dirichlet bc. More...
 
void checkBCConsistency (const std::vector< std::string > &element_block_names, const std::vector< std::string > &sideset_names, const std::vector< panzer::BC > &bcs)
 
void buildBlockIdToPhysicsIdMap (std::map< std::string, std::string > &b_to_p, const Teuchos::ParameterList &p)
 
std::ostream & operator<< (std::ostream &os, const FieldLibraryBase &flb)
 
std::ostream & operator<< (std::ostream &os, const panzer::FieldManagerBuilder &rfd)
 
Teuchos::RCP< panzer::GlobalDatacreateGlobalData (bool build_default_os, int print_process)
 
void setupInitialConditionFieldManagers (WorksetContainer &wkstContainer, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &ic_block_closure_models, const panzer::LinearObjFactory< panzer::Traits > &lo_factory, const Teuchos::ParameterList &user_data, const bool write_graphviz_file, const std::string &graphviz_file_prefix, std::map< std::string, Teuchos::RCP< PHX::FieldManager< panzer::Traits > > > &phx_ic_field_managers)
 Builds PHX::FieldManager objects for inital conditions and registers evaluators. More...
 
void setupInitialConditionFieldManagers (WorksetContainer &wkstContainer, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &ic_closure_models, const Teuchos::ParameterList &closure_models, const panzer::LinearObjFactory< panzer::Traits > &lo_factory, const Teuchos::ParameterList &user_data, const bool write_graphviz_file, const std::string &graphviz_file_prefix, std::map< std::string, Teuchos::RCP< PHX::FieldManager< panzer::Traits > > > &phx_ic_field_managers)
 Builds PHX::FieldManager objects for inital conditions and closure models and registers evaluators. More...
 
void evaluateInitialCondition (WorksetContainer &wkstContainer, const std::map< std::string, Teuchos::RCP< PHX::FieldManager< panzer::Traits > > > &phx_ic_field_managers, Teuchos::RCP< panzer::LinearObjContainer > loc, const panzer::LinearObjFactory< panzer::Traits > &lo_factory, const double time_stamp)
 
void setupControlInitialCondition (const std::map< std::string, Teuchos::RCP< const shards::CellTopology > > &block_ids_to_cell_topo, const std::map< std::string, std::vector< ICFieldDescriptor > > &block_ids_to_fields, WorksetContainer &wkstContainer, const LinearObjFactory< Traits > &lof, const ClosureModelFactory_TemplateManager< Traits > &cm_factory, const Teuchos::ParameterList &ic_closure_models, const Teuchos::ParameterList &user_data, int workset_size, double t0, const Teuchos::RCP< Thyra::VectorBase< double > > &vec)
 
void buildICPhysicsBlocks (const std::map< std::string, Teuchos::RCP< const shards::CellTopology > > &block_ids_to_cell_topo, const std::map< std::string, std::vector< ICFieldDescriptor > > &block_ids_to_fields, int workset_size, std::vector< Teuchos::RCP< PhysicsBlock > > &physics_blocks)
 
void buildICPhysicsBlocks (const std::map< std::string, Teuchos::RCP< const shards::CellTopology > > &block_ids_to_cell_topo, const std::map< std::string, std::vector< ICFieldDescriptor > > &block_ids_to_fields, int workset_size, std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physics_blocks)
 
template<typename Scalar >
static void permuteToOther (const PHX::MDField< Scalar, Cell, IP, Dim > &coords, const PHX::MDField< Scalar, Cell, IP, Dim > &other_coords, std::vector< typename ArrayTraits< Scalar, PHX::MDField< Scalar > >::size_type > &permutation)
 
template<typename ExecutionSpace , typename OutputValueType , typename PointValueType >
Teuchos::RCP< Intrepid2::Basis
< ExecutionSpace,
OutputValueType,
PointValueType > > 
createIntrepid2Basis (const std::string basis_type, int basis_order, const shards::CellTopology &cell_topology)
 Creates an Intrepid2::Basis object given the basis, order and cell topology. More...
 
template<typename ExecutionSpace , typename OutputValueType , typename PointValueType >
Teuchos::RCP< Intrepid2::Basis
< ExecutionSpace,
OutputValueType,
PointValueType > > 
createIntrepid2Basis (const std::string basis_type, int basis_order, const Teuchos::RCP< const shards::CellTopology > &cell_topology)
 Creates an Intrepid2::Basis object given the basis, order and cell topology. More...
 
void buildIntrepidOrientation (std::vector< Intrepid2::Orientation > &orientation, panzer::ConnManager &connMgr)
 
Teuchos::RCP< std::vector
< Intrepid2::Orientation > > 
buildIntrepidOrientation (const Teuchos::RCP< const GlobalIndexer > globalIndexer)
 
void generateLocalMeshPartitions (const panzer::LocalMeshInfo &mesh_info, const panzer::WorksetDescriptor &description, std::vector< panzer::LocalMeshPartition > &partitions)
 
std::ostream & operator<< (std::ostream &os, panzer::MaterialModelEntry &m)
 
Teuchos::RCP
< ModelEvaluator_Epetra
buildEpetraME (const Teuchos::RCP< FieldManagerBuilder > &fmb, const Teuchos::RCP< ResponseLibrary< panzer::Traits > > &rLibrary, const Teuchos::RCP< LinearObjFactory< panzer::Traits > > &lof, const std::vector< Teuchos::RCP< Teuchos::Array< std::string > > > &p_names, const std::vector< Teuchos::RCP< Teuchos::Array< double > > > &p_values, const Teuchos::RCP< panzer::GlobalData > &global_data, bool build_transient_support)
 
template<typename ScalarT , typename LO , typename GO >
Teuchos::RCP
< Thyra::ModelEvaluator
< ScalarT > > 
buildModelEvaluator (const RCP< panzer::FieldManagerBuilder &fmb, const RCP< panzer::BlockedEpetraLinearObjFactory< panzer::Traits, int > > &lof)
 
template<typename Scalar , typename Array >
Teuchos::RCP< const
panzer::OrientationContainerBase
< Scalar, Array > > 
buildOrientationContainer (const Teuchos::RCP< const panzer::GlobalIndexer > &globalIndexer, const std::string &fieldName)
 
template<typename Scalar , typename Array >
Teuchos::RCP< const
OrientationContainerBase
< Scalar, Array > > 
buildOrientationContainer (const Teuchos::RCP< const GlobalIndexer > &globalIndexer, const std::string &fieldName)
 
void registerScalarParameter (const std::string name, panzer::ParamLib &pl, double realValue)
 
template<typename EvaluationType >
Teuchos::RCP
< panzer::ScalarParameterEntry
< EvaluationType > > 
accessScalarParameter (const std::string name, panzer::ParamLib &pl)
 
template<typename EvaluationType >
Teuchos::RCP
< panzer::ScalarParameterEntry
< EvaluationType > > 
createAndRegisterScalarParameter (const std::string name, panzer::ParamLib &pl)
 
template<typename T >
T * ptrFromStlVector (std::vector< T > &v)
 
Teuchos::RCP< std::vector
< panzer::Workset > > 
buildPartitionedWorksets (const panzer::LocalMeshInfo &mesh_info, const panzer::WorksetDescriptor &description, const panzer::WorksetNeeds &needs)
 
template<typename ArrayCellGIDs , typename ArraySideGIDs >
unsigned getLocalSideIndexFromGlobalNodeList (const ArrayCellGIDs &cellGIDs, const ArraySideGIDs &sideGIDs, const shards::CellTopology &cell)
 
template<typename ArrayCellGIDs , typename ArraySideGIDs >
unsigned getLocalSubcellIndexFromGlobalNodeList (const ArrayCellGIDs &cellGIDs, const ArraySideGIDs &subcellGIDs, const shards::CellTopology &cell, unsigned subcell_dim)
 
template<typename ArrayCellGIDs , typename ArraySubcellGIDs >
void getLocalSubcellMapFromGlobalNodeLists (const ArrayCellGIDs &cellGIDs, const std::vector< ArraySubcellGIDs > &subcellGIDs, const shards::CellTopology &cell, unsigned subcell_dim, std::vector< unsigned > &subcellMap)
 
template<typename MapT >
const MapT::mapped_type & getEntry (const MapT &in_map, const typename MapT::key_type &in_key)
 
template<typename InputArray , typename... DimensionPack>
Kokkos::DynRankView< typename
InputArray::value_type,
PHX::Device > 
createDynRankView (const InputArray &a, const std::string &name, const DimensionPack...dims)
 Wrapper to simplify Panzer use of Sacado ViewFactory. More...
 
std::ostream & operator<< (std::ostream &os, const panzer::Workset &w)
 
void populateValueArrays (std::size_t num_cells, bool isSide, const WorksetNeeds &needs, WorksetDetails &details, const Teuchos::RCP< WorksetDetails > other_details)
 
template<typename ArrayT >
Teuchos::RCP< std::vector
< Workset > > 
buildWorksets (const WorksetNeeds &needs, const std::string &elementBlock, const std::vector< std::size_t > &local_cell_ids, const ArrayT &vertex_coordinates)
 
template<typename ArrayT >
Teuchos::RCP< std::map
< unsigned, Workset > > 
buildBCWorkset (const WorksetNeeds &needs, const std::string &elementBlock, const std::vector< std::size_t > &local_cell_ids, const std::vector< std::size_t > &local_side_ids, const ArrayT &vertex_coordinates, const bool populate_value_arrays=true)
 
template<typename ArrayT >
Teuchos::RCP< std::map
< unsigned, panzer::Workset > > 
buildBCWorkset (const WorksetNeeds &needs_a, const std::string &blockid_a, const std::vector< std::size_t > &local_cell_ids_a, const std::vector< std::size_t > &local_side_ids_a, const ArrayT &vertex_coordinates_a, const panzer::WorksetNeeds &needs_b, const std::string &blockid_b, const std::vector< std::size_t > &local_cell_ids_b, const std::vector< std::size_t > &local_side_ids_b, const ArrayT &vertex_coordinates_b)
 
template<typename ArrayT >
Teuchos::RCP< std::vector
< Workset > > 
buildEdgeWorksets (const WorksetNeeds &needs_a, const std::string &eblock_a, const std::vector< std::size_t > &local_cell_ids_a, const std::vector< std::size_t > &local_side_ids_a, const ArrayT &vertex_coordinates_a, const WorksetNeeds &needs_b, const std::string &eblock_b, const std::vector< std::size_t > &local_cell_ids_b, const std::vector< std::size_t > &local_side_ids_b, const ArrayT &vertex_coordinates_b)
 
template<typename ArrayT >
std::vector< Workset >::iterator buildEdgeWorksets (const std::vector< std::size_t > &cell_indices, const WorksetNeeds &needs_a, const std::string &eblock_a, const std::vector< std::size_t > &local_cell_ids_a, const std::vector< std::size_t > &local_side_ids_a, const ArrayT &vertex_coordinates_a, const WorksetNeeds &needs_b, const std::string &eblock_b, const std::vector< std::size_t > &local_cell_ids_b, const std::vector< std::size_t > &local_side_ids_b, const ArrayT &vertex_coordinates_b, std::vector< Workset >::iterator beg)
 
std::vector< std::string >
::size_type 
getPureBasisIndex (std::string basis_name, const panzer::Workset &workset, WorksetDetailsAccessor &wda)
 Returns the index in the workset bases for a particular PureBasis name. More...
 
std::vector< std::string >
::size_type 
getBasisIndex (std::string basis_name, const panzer::Workset &workset, WorksetDetailsAccessor &wda)
 Returns the index in the workset bases for a particular BasisIRLayout name. More...
 
std::vector< std::string >
::size_type 
getIntegrationRuleIndex (int ir_degree, const panzer::Workset &workset, WorksetDetailsAccessor &wda)
 
void printWorkset (std::ostream &os, const panzer::Workset &workset, WorksetDetailsAccessor &wda)
 
std::vector< std::string >
::size_type 
getPureBasisIndex (std::string basis_name, const panzer::Workset &workset)
 
std::vector< std::string >
::size_type 
getBasisIndex (std::string basis_name, const panzer::Workset &workset)
 
std::vector< int >::size_type getIntegrationRuleIndex (int ir_degree, const panzer::Workset &workset)
 
void printWorkset (std::ostream &os, const panzer::Workset &workset)
 
void getVolumeWorksetsFromContainer (WorksetContainer &wc, const std::vector< std::string > &elementBlockNames, std::map< std::string, Teuchos::RCP< std::vector< Workset > > > &volumeWksts)
 
void getSideWorksetsFromContainer (WorksetContainer &wc, const std::vector< BC > &bcs, std::map< BC, Teuchos::RCP< std::map< unsigned, Workset > >, LessBC > &sideWksts)
 
bool operator== (const WorksetDescriptor &a, const WorksetDescriptor &b)
 Equality operation for use with hash tables and maps. More...
 
std::size_t hash_value (const WorksetDescriptor &wd)
 Hash function that satisifies the stl hash interface. More...
 
std::ostream & operator<< (std::ostream &os, const WorksetDescriptor &wd)
 I/O utility. More...
 
WorksetDescriptor blockDescriptor (const std::string &eBlock)
 
WorksetDescriptor sidesetDescriptor (const std::string &eBlock, const std::string &sideset)
 
WorksetDescriptor sidesetVolumeDescriptor (const std::string &eBlock, const std::string &sideset)
 
KOKKOS_INLINE_FUNCTION void zeroSensitivities (panzer::Traits::RealType &)
 Zero out AD types so that we can drop sensitivity contributions. More...
 
KOKKOS_INLINE_FUNCTION void zeroSensitivities (panzer::Traits::FadType &s)
 Specialization for Fad type Jacobian. More...
 
KOKKOS_INLINE_FUNCTION void zeroSensitivities (panzer::Traits::HessianType &s)
 Specialization for Fad type Hessian. More...
 
template<typename T >
KOKKOS_INLINE_FUNCTION
Sacado::mpl::enable_if
< Sacado::IsView< T > >::type 
zeroSensitivities (T x)
 Specialization for Kokkos View reference type Jacobian. More...
 
template<>
Teuchos::RCP
< panzer::ResponseEvaluatorFactoryBase
ResponseMESupportBuilderBase::build< panzer::Traits::Residual > () const
 
template<>
Teuchos::RCP
< panzer::ResponseEvaluatorFactoryBase
ResponseMESupportBuilderBase::build< panzer::Traits::Jacobian > () const
 
template<>
Teuchos::RCP
< panzer::ResponseEvaluatorFactoryBase
ResponseMESupportBuilderBase::build< panzer::Traits::Tangent > () const
 
template<>
Teuchos::RCP
< panzer::ResponseEvaluatorFactoryBase
ResponseMESupportBuilderBase::build< panzer::Traits::Hessian > () const
 
template<class T >
void hash_combine (std::size_t &seed, const T &v)
 
void printMemoryUsage (std::ostream &os, const Teuchos::Comm< int > &comm)
 Print memory usage to stream. More...
 
void printMemoryUsage (std::ostream &s, const Teuchos::Comm< int > &comm, const MemUsage &mem)
 
void pretty (std::ostream &s, size_t num)
 
MemUsage getMemoryUsage (const Teuchos::Comm< int > &comm)
 Get memory usage in B. More...
 
MemUsage getPeakRSS (const Teuchos::Comm< int > &comm)
 
MemUsage getCurrentRSS (const Teuchos::Comm< int > &comm)
 
MemUsage reduceMemUsage (size_t &mem, const Teuchos::Comm< int > &comm, const MemUsageType &type)
 Reduce the memory usage over all the processors. More...
 
void pauseToAttach (MPI_Comm mpicomm)
 
void pauseToAttach ()
 
void trim (std::string &str)
 Removes whitespace at beginning and end of string. More...
 
void StringTokenizer (std::vector< std::string > &tokens, const std::string &str, const std::string delimiter=",", bool trim=false)
 Tokenize a string, put tokens in a vector. More...
 
void TokensToDoubles (std::vector< double > &values, const std::vector< std::string > &tokens)
 Turn a vector of tokens into a vector of doubles. More...
 
void TokensToInts (std::vector< int > &values, const std::vector< std::string > &tokens)
 Turn a vector of tokens into a vector of ints. More...
 
template<typename ScalarT >
ScalarT getScalarParameter (const std::string &field, const Teuchos::ParameterList &plist)
 
void reorder (std::vector< int > &order, std::function< void(int, int)> swapper)
 Using a functor, reorder an array using a order vector. More...
 
std::string version ()
 
std::ostream & operator<< (std::ostream &os, const FieldPattern &fp)
 Stream IO. More...
 
Teuchos::RCP< Epetra_IntVectorbuildGhostedFieldReducedVectorEpetra (const GlobalIndexer &ugi)
 
Teuchos::RCP< const
Epetra_IntVector
buildGhostedFieldVectorEpetra (const GlobalIndexer &ugi, const Teuchos::RCP< const Epetra_IntVector > &reducedVec=Teuchos::null)
 
void buildGhostedFieldVectorEpetra (const GlobalIndexer &ugi, std::vector< int > &fieldNumbers, const Teuchos::RCP< const Epetra_IntVector > &reducedVec=Teuchos::null)
 
template<typename ScalarT , typename ArrayT >
void updateGhostedDataReducedVectorEpetra (const std::string &fieldName, const std::string blockId, const GlobalIndexer &ugi, const ArrayT &data, Epetra_MultiVector &dataVector)
 
Teuchos::RCP< const
Epetra_BlockMap
getFieldMapEpetra (int fieldNum, const Epetra_IntVector &fieldVector)
 
std::vector< Teuchos::RCP
< const GlobalIndexer > > 
nc2c_vector (const std::vector< Teuchos::RCP< GlobalIndexer > > &ugis)
 
int getFieldBlock (const std::string &fieldName, const std::vector< Teuchos::RCP< const GlobalIndexer >> &ugis)
 
int getFieldBlock (const std::string &fieldName, const std::vector< Teuchos::RCP< GlobalIndexer >> &ugis)
 
void computeBlockOffsets (const std::string &blockId, const std::vector< Teuchos::RCP< GlobalIndexer >> &ugis, std::vector< int > &blockOffsets)
 
void computeBlockOffsets (const std::string &blockId, const std::vector< Teuchos::RCP< const GlobalIndexer >> &ugis, std::vector< int > &blockOffsets)
 
std::string printUGILoadBalancingInformation (const GlobalIndexer &ugi)
 
void printMeshTopology (std::ostream &os, const panzer::GlobalIndexer &ugi)
 
Teuchos::RCP< Tpetra::Vector
< int, int,
panzer::GlobalOrdinal,
panzer::TpetraNodeType > > 
buildGhostedFieldReducedVector (const GlobalIndexer &ugi)
 
void buildGhostedFieldVector (const GlobalIndexer &ugi, std::vector< int > &fieldNumbers, const Teuchos::RCP< const Tpetra::Vector< int, int, panzer::GlobalOrdinal, panzer::TpetraNodeType > > &reducedVec)
 
Teuchos::RCP< const
Tpetra::Vector< int, int,
panzer::GlobalOrdinal,
panzer::TpetraNodeType > > 
buildGhostedFieldVector (const GlobalIndexer &ugi, const Teuchos::RCP< const Tpetra::Vector< int, int, panzer::GlobalOrdinal, panzer::TpetraNodeType > > &reducedVec)
 
Teuchos::RCP< const
Tpetra::Map< int,
panzer::GlobalOrdinal,
panzer::TpetraNodeType > > 
getFieldMap (int fieldNum, const Tpetra::Vector< int, int, panzer::GlobalOrdinal, panzer::TpetraNodeType > &fieldTVector)
 
std::vector< Teuchos::RCP
< const GlobalIndexer > > 
nc2c_vector (const std::vector< Teuchos::RCP< GlobalIndexer >> &ugis)
 
template<typename ScalarT , typename ArrayT >
void updateGhostedDataReducedVector (const std::string &fieldName, const std::string blockId, const GlobalIndexer &ugi, const ArrayT &data, Tpetra::MultiVector< ScalarT, int, panzer::GlobalOrdinal, panzer::TpetraNodeType > &dataVector)
 

Detailed Description

Computes $ Ma(x)b(x)\cdots\int s(x)\nabla\phi(x)\,dx $.

Evaluates the integral

\[ Ma(x)b(x)\cdots\int s(x)\nabla\phi(x)\,dx, \]

where $ M $ is some constant, $ a(x) $, $ b(x) $, etc., are some fields that depend on position, $ s $ is some scalar function, and $ \phi $ is some vector basis.

Typedef Documentation

typedef std::pair<std::string,Teuchos::RCP<panzer::BasisIRLayout> > panzer::StrBasisPair

Definition at line 141 of file Panzer_BasisIRLayout.hpp.

using panzer::NODE = typedef BASIS

Definition at line 77 of file Panzer_Dimension.hpp.

Definition at line 68 of file Panzer_IosAllSaver.hpp.

Definition at line 71 of file Panzer_IosAllSaver.hpp.

typedef Sacado::ScalarParameterLibrary<panzer::EvaluationTraits> panzer::ParamLib

Definition at line 53 of file Panzer_ParameterLibrary.hpp.

typedef Sacado::ScalarParameterVector<panzer::EvaluationTraits> panzer::ParamVec

Definition at line 54 of file Panzer_ParameterLibrary.hpp.

typedef std::pair<std::string,Teuchos::RCP<panzer::PureBasis> > panzer::StrPureBasisPair

Definition at line 188 of file Panzer_PureBasis.hpp.

typedef Kokkos::Compat::KokkosDeviceWrapperNode<PHX::Device> panzer::TpetraNodeType

Definition at line 55 of file Panzer_NodeType.hpp.

Enumeration Type Documentation

An indication of how an Evaluator will behave.

An Evaluator will compute the result of its evaluation and then behave according to the table below.

Enumerator
CONTRIBUTES 

Contribute the result to a specified residual, not saving anything.

EVALUATES 

Save the result under a specified name for future use.

Definition at line 54 of file Panzer_EvaluatorStyle.hpp.

Type of boundary condition.

Enumerator
BCT_Dirichlet 
BCT_Neumann 
BCT_Interface 

Definition at line 74 of file Panzer_BC.hpp.

Enumerator
VERB_NONE 
VERB_LOW 
VERB_MEDIUM 
VERB_HIGH 
VERB_EXTREME 

Definition at line 51 of file Panzer_OutputStream.hpp.

Special values for the workset size. When the workset size is set on the WorksetDescriptor an interger value can be set, or one of these special enums can be used.

Enumerator
CLASSIC_MODE 

Backwards compatibility mode that ignores the worksetSize in the WorksetDescriptor.

ALL_ELEMENTS 

Workset size is set to the total number of local elements in the MPI process.

NO_ELEMENTS 

Workset size is set to zero.

Definition at line 54 of file Panzer_WorksetDescriptor.hpp.

Enumerator
MEM_USAGE_CURRENT 
MEM_USAGE_PEAK 

Definition at line 89 of file Panzer_MemUtils.hpp.

enum panzer::FieldType
strong

The type of discretization to use for a field pattern.

Enumerator
CG 
DG 

Continuous Galerkin Formulation.

Definition at line 49 of file Panzer_FieldType.hpp.

Function Documentation

template<typename EvalT , typename Traits >
Teuchos::RCP<PHX::Evaluator<Traits> > panzer::cellAverageEvaluator ( const std::string &  averageName,
const std::string &  fieldName,
const Teuchos::RCP< const panzer::IntegrationRule > &  ir 
)

This is a function constructor for an evaluator that builds scalars from a single vector field. The user specifies the layouts (assumed compatible) and then uses a postfix for each of the scalar fields.

Parameters
[in]vectorNameName of the vector
[in]postfixVector specifying the postfix to use when naming each scalar field
[in]vectorLayoutData layout for the vector field
[in]scalarLayoutData layout for the scalars

Definition at line 127 of file Panzer_CellAverage.hpp.

template<typename EvalT , typename TraitsT >
Teuchos::RCP< DotProduct< EvalT, TraitsT > > panzer::buildEvaluator_DotProduct ( const std::string &  resultName,
const panzer::PointRule pr,
const std::string &  vecA,
const std::string &  vecB,
double  multiplier = 1,
const std::string &  fieldMultiplier = "" 
)

Build a dot product evaluator. Evaluates dot product at a set of points.

mv * fm * v_a v_b

Parameters
[in]resultNameDestination scalar field sized by pr.dl_scalar containing the dot product
[in]prPoint rule class that defines the size of the fields
[in]vecAThe a vector
[in]vecBThe b vector
[in]multiplierConstant multiplier (mv above)
[in]fieldMultiplierField to multiply by (fm above)

Definition at line 57 of file Panzer_DotProduct_impl.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 , typename Tag2 >
Teuchos::RCP< PHX::Evaluator< TRAITS > > panzer::buildStaticSumEvaluator ( const std::string &  sum_name,
const std::vector< std::string > &  value_names,
const Teuchos::RCP< PHX::DataLayout > &  data_layout 
)

This functions builds a static sum evaluator based on the rank of the data layout object. Dependent and evaluated fields are denoted by the passed in parameters.

Definition at line 464 of file Panzer_Sum_impl.hpp.

template<typename EvalT , typename Traits >
Teuchos::RCP<PHX::Evaluator<Traits> > panzer::tensorToStdVectorEvaluator ( const std::string &  tensorName,
const std::string &  vectorPrefix,
const std::vector< std::string > &  postfix,
const Teuchos::RCP< const PHX::DataLayout > &  tensorLayout,
const Teuchos::RCP< const PHX::DataLayout > &  vectorLayout 
)

This is a function constructor for an evaluator that builds vectors from a single tensor field. The user specifies the layouts (assumed compatible) and then uses a postfix for each of the vector fields.

Parameters
[in]tensorNameName of the tensor
[in]vectorPrefixName to prefix to the vector values
[in]postfixVector specifying the postfix to use when naming each vector field
[in]tensorLayoutData layout for the tensor field
[in]vectorLayoutData layout for the vectors

Definition at line 105 of file Panzer_TensorToStdVector_decl.hpp.

template<typename EvalT , typename Traits >
Teuchos::RCP<PHX::Evaluator<Traits> > panzer::tensorToStdVectorEvaluator ( const std::string &  tensorName,
const std::vector< std::string > &  postfix,
const Teuchos::RCP< const PHX::DataLayout > &  tensorLayout,
const Teuchos::RCP< const PHX::DataLayout > &  vectorLayout 
)

This is a function constructor for an evaluator that builds vectors from a single tensor field. The user specifies the layouts (assumed compatible) and then uses a postfix for each of the vector fields.

Parameters
[in]tensorNameName of the tensor
[in]postfixVector specifying the postfix to use when naming each vector field
[in]tensorLayoutData layout for the tensor field
[in]vectorLayoutData layout for the vectors

Definition at line 140 of file Panzer_TensorToStdVector_decl.hpp.

template<typename EvalT , typename Traits >
Teuchos::RCP<PHX::Evaluator<Traits> > panzer::vectorToScalarEvaluator ( const std::string &  vectorName,
const std::string &  scalarPrefix,
const std::vector< std::string > &  postfix,
const Teuchos::RCP< const PHX::DataLayout > &  vectorLayout,
const Teuchos::RCP< const PHX::DataLayout > &  scalarLayout 
)

This is a function constructor for an evaluator that builds scalars from a single vector field. The user specifies the layouts (assumed compatible) and then uses a postfix for each of the scalar fields.

Parameters
[in]vectorNameName of the vector
[in]scalarPrefixName to prefix to the scalar values
[in]postfixVector specifying the postfix to use when naming each scalar field
[in]vectorLayoutData layout for the vector field
[in]scalarLayoutData layout for the scalars

Definition at line 100 of file Panzer_VectorToScalar_decl.hpp.

template<typename EvalT , typename Traits >
Teuchos::RCP<PHX::Evaluator<Traits> > panzer::vectorToScalarEvaluator ( const std::string &  vectorName,
const std::vector< std::string > &  postfix,
const Teuchos::RCP< const PHX::DataLayout > &  vectorLayout,
const Teuchos::RCP< const PHX::DataLayout > &  scalarLayout 
)

This is a function constructor for an evaluator that builds scalars from a single vector field. The user specifies the layouts (assumed compatible) and then uses a postfix for each of the scalar fields.

Parameters
[in]vectorNameName of the vector
[in]postfixVector specifying the postfix to use when naming each scalar field
[in]vectorLayoutData layout for the vector field
[in]scalarLayoutData layout for the scalars

Definition at line 135 of file Panzer_VectorToScalar_decl.hpp.

Teuchos::RCP< const LinearObjFactory< panzer::Traits > > panzer::cloneWithNewDomain ( const LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::RCP< const GlobalIndexer > &  dUgi 
)

Clone a linear object factory, but using a different domain.

This is the case where you want to make sure the linear algebra abstractions are compatible, but don't really care which one is used.

Parameters
[in]lofLinear object factory to be cloned
[in]dUgiDomain unique global indexer to be used
Note
As implemented this only functions for the expicitly instantiated linear object factory types.

Definition at line 13 of file Panzer_LinearObjFactory_Utilities.cpp.

Teuchos::RCP< const LinearObjFactory< panzer::Traits > > panzer::cloneWithNewRange ( const LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::RCP< const GlobalIndexer > &  rUgi 
)

Clone a linear object factory, but using a different range.

This is the case where you want to make sure the linear algebra abstractions are compatible, but don't really care which one is used.

Parameters
[in]lofLinear object factory to be cloned
[in]rUgiRange unique global indexer to be used
Note
As implemented this only functions for the expicitly instantiated linear object factory types.

Definition at line 20 of file Panzer_LinearObjFactory_Utilities.cpp.

Teuchos::RCP< const LinearObjFactory< panzer::Traits > > panzer::cloneWithNewRangeAndDomain ( const LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::RCP< const GlobalIndexer > &  rUgi,
const Teuchos::RCP< const GlobalIndexer > &  dUgi 
)

Clone a linear object factory, but using a different range and domain.

This is the case where you want to make sure the linear algebra abstractions are compatible, but don't really care which one is used.

Parameters
[in]lofLinear object factory to be cloned
[in]rUgiRange unique global indexer to be used
[in]dUgiDomain unique global indexer to be used
Note
As implemented this only functions for the expicitly instantiated linear object factory types.

Definition at line 27 of file Panzer_LinearObjFactory_Utilities.cpp.

std::ostream& panzer::operator<< ( std::ostream &  os,
const AssemblyEngineInArgs &  in 
)
inline

Streaming output for the AssemblyEngineInArgs. This is helpful in debugging exactly what is in the input arguments data structure.

Definition at line 147 of file Panzer_AssemblyEngine_InArgs.hpp.

Teuchos::RCP< panzer::BasisIRLayout > panzer::basisIRLayout ( std::string  basis_type,
const int  basis_order,
const PointRule &  pt_rule 
)

Nonmember constructor.

Definition at line 55 of file Panzer_BasisIRLayout.cpp.

Teuchos::RCP< panzer::BasisIRLayout > panzer::basisIRLayout ( const Teuchos::RCP< const PureBasis > &  b,
const PointRule &  pt_rule 
)

Nonmember constructor.

Definition at line 61 of file Panzer_BasisIRLayout.cpp.

std::ostream & panzer::operator<< ( std::ostream &  os,
const panzer::BC bc 
)

Definition at line 321 of file Panzer_BC.cpp.

panzer::WorksetDescriptor panzer::bcDescriptor ( const panzer::BC bc)

Definition at line 331 of file Panzer_BC.cpp.

template<typename EvalT >
void panzer::buildAndRegisterSubsetOfClosureModelEvaluatorsForType ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::PhysicsBlock pb,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  factory,
const std::string  comma_sep_closure_model_list,
const Teuchos::ParameterList models,
const Teuchos::ParameterList user_data 
)

Builds the closure models for a particular physics block for a dirichlet bc.

In many cases, we want the material models for a particular physics block for a boundary condition. We could make a direct call to the physics block function buildAndRegisterClosureModelEvaluatorsForType<EvalT>(). However, in many cases this registers certain unneeded evaluators that cause problems. Some evaluators may instert required fields at integration points that can not be met for dirichlet conditions where we work at basis points. Use this class to build a subset of the closure models for a dirichlet bc.

Parameters
fm[in/out] FieldManager - on exit will contain registerd evaluators
pb[in] Physics block
factory[in] closure model factory
comma_sep_closure_model_list[in] a string containing a comma separated list of the models to build
models[in] list of models avaialble to the simulation
user_data[in] User suppplied data that optionally can be used to build models

Definition at line 79 of file Panzer_BCStrategy_Dirichlet_Utilities.hpp.

void panzer::checkBCConsistency ( const std::vector< std::string > &  element_block_names,
const std::vector< std::string > &  sideset_names,
const std::vector< panzer::BC > &  bcs 
)

Definition at line 6 of file Panzer_CheckBCConsistency.cpp.

void panzer::buildBlockIdToPhysicsIdMap ( std::map< std::string, std::string > &  b_to_p,
const Teuchos::ParameterList p 
)

Definition at line 48 of file Panzer_ElementBlockIdToPhysicsIdMap.cpp.

std::ostream& panzer::operator<< ( std::ostream &  os,
const FieldLibraryBase &  flb 
)
inline

Definition at line 155 of file Panzer_FieldLibrary.hpp.

std::ostream & panzer::operator<< ( std::ostream &  os,
const panzer::FieldManagerBuilder rfd 
)

Definition at line 550 of file Panzer_FieldManagerBuilder.cpp.

Teuchos::RCP<panzer::GlobalData> panzer::createGlobalData ( bool  build_default_os,
int  print_process 
)
related

Definition at line 50 of file Panzer_GlobalData.cpp.

void panzer::setupInitialConditionFieldManagers ( WorksetContainer &  wkstContainer,
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
const Teuchos::ParameterList ic_block_closure_models,
const panzer::LinearObjFactory< panzer::Traits > &  lo_factory,
const Teuchos::ParameterList user_data,
const bool  write_graphviz_file,
const std::string &  graphviz_file_prefix,
std::map< std::string, Teuchos::RCP< PHX::FieldManager< panzer::Traits > > > &  phx_ic_field_managers 
)

Builds PHX::FieldManager objects for inital conditions and registers evaluators.

Parameters
[in]wkstContainerWorksets for the corresponding evaluations.
[in]physicsBlockPhysicsBlocks created by FieldManagerBuilder.
[in]cm_factoryFactory that provides all closure models required by the initial condition evaluation.
[in]closure_modelsList of closure models for each element block required for initial conditions.
[in]lo_factoryLinearObjFactory corresponding to the problem.
[in]user_dataParameterList with optional user data.
[out]phx_ic_field_managersAllocated PHX::FieldManagers for each element block.

Definition at line 56 of file Panzer_InitialCondition_Builder.cpp.

void panzer::setupInitialConditionFieldManagers ( WorksetContainer &  wkstContainer,
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
const Teuchos::ParameterList ic_closure_models,
const Teuchos::ParameterList closure_models,
const panzer::LinearObjFactory< panzer::Traits > &  lo_factory,
const Teuchos::ParameterList user_data,
const bool  write_graphviz_file,
const std::string &  graphviz_file_prefix,
std::map< std::string, Teuchos::RCP< PHX::FieldManager< panzer::Traits > > > &  phx_ic_field_managers 
)

Builds PHX::FieldManager objects for inital conditions and closure models and registers evaluators.

Parameters
[in]wkstContainerWorksets for the corresponding evaluations.
[in]physicsBlockPhysicsBlocks created by FieldManagerBuilder.
[in]cm_factoryFactory that provides all closure models required by the initial condition evaluation.
[in]ic_closure_modelsList of initial condition closure models for each element block required for initial conditions.
[in]closure_modelsList of closure models for each element block required to compute initial conditions.
[in]lo_factoryLinearObjFactory corresponding to the problem.
[in]user_dataParameterList with optional user data.
[out]phx_ic_field_managersAllocated PHX::FieldManagers for each element block.

Definition at line 117 of file Panzer_InitialCondition_Builder.cpp.

void panzer::evaluateInitialCondition ( WorksetContainer &  wkstContainer,
const std::map< std::string, Teuchos::RCP< PHX::FieldManager< panzer::Traits > > > &  phx_ic_field_managers,
Teuchos::RCP< panzer::LinearObjContainer loc,
const panzer::LinearObjFactory< panzer::Traits > &  lo_factory,
const double  time_stamp 
)

Execute the construction of an initial condition.

Definition at line 182 of file Panzer_InitialCondition_Builder.cpp.

void panzer::setupControlInitialCondition ( const std::map< std::string, Teuchos::RCP< const shards::CellTopology > > &  block_ids_to_cell_topo,
const std::map< std::string, std::vector< ICFieldDescriptor > > &  block_ids_to_fields,
panzer::WorksetContainer wkstContainer,
const panzer::LinearObjFactory< panzer::Traits > &  lof,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
const Teuchos::ParameterList ic_closure_models,
const Teuchos::ParameterList user_data,
int  workset_size,
double  t0,
const Teuchos::RCP< Thyra::VectorBase< double > > &  vec 
)

Fill a vector with the initial conditions specified using the closure models. This is intended to work with out physics blocks and so is most applicable for controls.

Parameters
[in]block_ids_to_cell_topoMap from element blocks to cell topologies.
[in]block_ids_to_fieldsMap from element blocks to required fields.
[in]wkstContainerWorksets for the corresponding evaluations.
[in]lofLinearObjFactory corresponding to the problem.
[in]cm_factoryFactory that provides all closure models required by the initial condition evaluation.
[in]closure_modelsList of closure models for each element block required for initial conditions.
[in]user_dataParameterList with optional user data.
[in]workset_sizeSize of the worksets.
[in]t0Initial time.
[out]vecVector defined by the lof containing the intial conditions.

Definition at line 363 of file Panzer_InitialCondition_Builder.cpp.

void panzer::buildICPhysicsBlocks ( const std::map< std::string, Teuchos::RCP< const shards::CellTopology > > &  block_ids_to_cell_topo,
const std::map< std::string, std::vector< ICFieldDescriptor > > &  block_ids_to_fields,
int  workset_size,
std::vector< Teuchos::RCP< PhysicsBlock > > &  physics_blocks 
)

Definition at line 397 of file Panzer_InitialCondition_Builder.cpp.

void panzer::buildICPhysicsBlocks ( const std::map< std::string, Teuchos::RCP< const shards::CellTopology > > &  block_ids_to_cell_topo,
const std::map< std::string, std::vector< ICFieldDescriptor > > &  block_ids_to_fields,
int  workset_size,
std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physics_blocks 
)

A helper function that builds the physics blocks specified by the field descriptors. This is used inside the setup function for controls to build mock physics blocks.

Parameters
[in]block_ids_to_cell_topoMap from element blocks to cell topologies.
[in]block_ids_to_fieldsMap from element blocks to required fields.
[in]workset_sizeSize of the worksets.
[out]physics_blocksPhysics blocks used to contrust field managers.
template<typename Scalar >
static void panzer::permuteToOther ( const PHX::MDField< Scalar, Cell, IP, Dim > &  coords,
const PHX::MDField< Scalar, Cell, IP, Dim > &  other_coords,
std::vector< typename ArrayTraits< Scalar, PHX::MDField< Scalar > >::size_type > &  permutation 
)
static

Definition at line 960 of file Panzer_IntegrationValues2.cpp.

template<typename ExecutionSpace , typename OutputValueType , typename PointValueType >
Teuchos::RCP<Intrepid2::Basis<ExecutionSpace,OutputValueType,PointValueType> > panzer::createIntrepid2Basis ( const std::string  basis_type,
int  basis_order,
const shards::CellTopology &  cell_topology 
)

Creates an Intrepid2::Basis object given the basis, order and cell topology.

Parameters
[in]basis_typeThe name of the basis.
[in]basis_orderThe order of the polynomial used to construct the basis.
[in]cell_topologyCell topology for the basis. Taken from shards::CellTopology::getName() after trimming the extended basis suffix.

To be backwards compatible, this method takes deprecated descriptions and transform it into a valid type and order. For example "Q1" is transformed to basis_type="HGrad",basis_order=1.

Returns
A newly allocated panzer::Basis object.

Definition at line 121 of file Panzer_IntrepidBasisFactory.hpp.

template<typename ExecutionSpace , typename OutputValueType , typename PointValueType >
Teuchos::RCP<Intrepid2::Basis<ExecutionSpace,OutputValueType,PointValueType> > panzer::createIntrepid2Basis ( const std::string  basis_type,
int  basis_order,
const Teuchos::RCP< const shards::CellTopology > &  cell_topology 
)

Creates an Intrepid2::Basis object given the basis, order and cell topology.

Parameters
[in]basis_typeThe name of the basis.
[in]basis_orderThe order of the polynomial used to construct the basis.
[in]cell_topologyCell topology for the basis. Taken from shards::CellTopology::getName() after trimming the extended basis suffix.

To be backwards compatible, this method takes deprecated descriptions and transform it into a valid type and order. For example "Q1" is transformed to basis_type="HGrad",basis_order=1.

Returns
A newly allocated panzer::Basis object.

Definition at line 267 of file Panzer_IntrepidBasisFactory.hpp.

void panzer::buildIntrepidOrientation ( std::vector< Intrepid2::Orientation > &  orientation,
panzer::ConnManager connMgr 
)

Definition at line 49 of file Panzer_IntrepidOrientation.cpp.

Teuchos::RCP< std::vector< Intrepid2::Orientation > > panzer::buildIntrepidOrientation ( const Teuchos::RCP< const panzer::GlobalIndexer globalIndexer)

Build an orientation container from a global indexer and a field. Underneath this does several dynamic casts to determine the type of GlobalIndexer object that has been passed in.

Definition at line 105 of file Panzer_IntrepidOrientation.cpp.

void panzer::generateLocalMeshPartitions ( const panzer::LocalMeshInfo mesh_info,
const panzer::WorksetDescriptor description,
std::vector< panzer::LocalMeshPartition > &  partitions 
)

Create a set of partitions given a descriptor containing: 1) Volume worksets

  • Element Block Name
  • Workset Size 2) Sideset worksets
  • Element Block Name
  • Sideset Name
  • Workset Size
Parameters
[in]mesh_infoReference to fully constructed mesh_info
[in]descriptionWorkset descriptor defining area to partition
[out]partitionsSet of local mesh partitions for given region of mesh_info

Definition at line 372 of file Panzer_LocalPartitioningUtilities.cpp.

std::ostream & panzer::operator<< ( std::ostream &  os,
panzer::MaterialModelEntry m 
)

Definition at line 113 of file Panzer_MaterialModelEntry.cpp.

Teuchos::RCP< panzer::ModelEvaluator_Epetra > panzer::buildEpetraME ( const Teuchos::RCP< FieldManagerBuilder > &  fmb,
const Teuchos::RCP< ResponseLibrary< panzer::Traits > > &  rLibrary,
const Teuchos::RCP< LinearObjFactory< panzer::Traits > > &  lof,
const std::vector< Teuchos::RCP< Teuchos::Array< std::string > > > &  p_names,
const std::vector< Teuchos::RCP< Teuchos::Array< double > > > &  p_values,
const Teuchos::RCP< panzer::GlobalData > &  global_data,
bool  build_transient_support 
)

From a genericly typed linear object factory try and build an epetra model evaluator. This method attempts to cast to the right linear object factory and then calls the appropriate constructor of ModelEvaluator_Epetra.

Definition at line 912 of file Panzer_ModelEvaluator_Epetra.cpp.

template<typename ScalarT , typename LO , typename GO >
Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > panzer::buildModelEvaluator ( )

Definition at line 55 of file Panzer_ModelEvaluator_Factory_impl.hpp.

template<typename Scalar , typename Array >
Teuchos::RCP<const panzer::OrientationContainerBase<Scalar,Array> > panzer::buildOrientationContainer ( const Teuchos::RCP< const panzer::GlobalIndexer > &  globalIndexer,
const std::string &  fieldName 
)

Build an orientation container from a global indexer and a field. Underneath this does several dynamic casts to determine the type of GlobalIndexer object that has been passed in.

Definition at line 88 of file Panzer_OrientationContainer_impl.hpp.

template<typename Scalar , typename Array >
Teuchos::RCP<const OrientationContainerBase<Scalar,Array> > panzer::buildOrientationContainer ( const Teuchos::RCP< const panzer::GlobalIndexer > &  globalIndexer,
const std::string &  fieldName 
)

Build an orientation container from a global indexer and a field. Underneath this does several dynamic casts to determine the type of GlobalIndexer object that has been passed in.

Definition at line 88 of file Panzer_OrientationContainer_impl.hpp.

void panzer::registerScalarParameter ( const std::string  name,
panzer::ParamLib pl,
double  realValue 
)

Definition at line 59 of file Panzer_ParameterLibraryUtilities.cpp.

template<typename EvaluationType >
Teuchos::RCP< panzer::ScalarParameterEntry< EvaluationType > > panzer::accessScalarParameter ( const std::string  name,
panzer::ParamLib pl 
)

Definition at line 74 of file Panzer_ParameterLibraryUtilities_impl.hpp.

template<typename EvaluationType >
Teuchos::RCP<panzer::ScalarParameterEntry<EvaluationType> > panzer::createAndRegisterScalarParameter ( const std::string  name,
panzer::ParamLib pl 
)
related

Definition at line 50 of file Panzer_ParameterLibraryUtilities_impl.hpp.

template<typename T >
T* panzer::ptrFromStlVector ( std::vector< T > &  v)
inline

Function to eliminate runtime errors triggered by compiling with checked_stl enabled builds. We have cases where raw pointers must be passed to external libraries like Epetra. If the raw data is stored in a stl vector object, it is legal to access the vector using &v[0]. In an effort to be efficient (for performance essential kernels) we do not check the size of the stl vector before grabbing the pointer. We just grab the pointer and pass the size to the epetra function. However, if the vector size is zero, then the checked stl will throw an error. This is a case of checked stl forcing us to write less efficient code (by having to check the size). To preserve efficiency, we use a define based on if checked stl is enabled.

Definition at line 65 of file Panzer_PtrFromStlVector.hpp.

Teuchos::RCP< std::vector< panzer::Workset > > panzer::buildPartitionedWorksets ( const panzer::LocalMeshInfo mesh_info,
const panzer::WorksetDescriptor description,
const panzer::WorksetNeeds needs 
)

Build worksets for a partitioned mesh

Parameters
[in]mesh_infoMesh info object
[in]descriptionDescription of workset
[in]needsRequirements for workset
Returns
vector of worksets for the corresponding element block.

Definition at line 67 of file Panzer_SetupPartitionedWorksetUtilities.cpp.

template<typename ArrayCellGIDs , typename ArraySideGIDs >
unsigned panzer::getLocalSideIndexFromGlobalNodeList ( const ArrayCellGIDs &  cellGIDs,
const ArraySideGIDs &  sideGIDs,
const shards::CellTopology &  cell 
)

Definition at line 56 of file Panzer_Shards_Utilities.hpp.

template<typename ArrayCellGIDs , typename ArraySideGIDs >
unsigned panzer::getLocalSubcellIndexFromGlobalNodeList ( const ArrayCellGIDs &  cellGIDs,
const ArraySideGIDs &  subcellGIDs,
const shards::CellTopology &  cell,
unsigned  subcell_dim 
)

This function takes a list of of GIDs defined on a cell and returns the local subcell Shards index for a user specified subcell dimension.

Parameters
[in]cellGIDsNode GIDs for the cell
[in]subcellGIDsNode GIDs for the subcell to be found
[in]cellShards cell topology used to find local index
[in]subcell_dimDimension of subcell to be found
Returns
Local Shards index for the subcell described by subcellGIDs

Definition at line 122 of file Panzer_Shards_Utilities.hpp.

template<typename ArrayCellGIDs , typename ArraySubcellGIDs >
void panzer::getLocalSubcellMapFromGlobalNodeLists ( const ArrayCellGIDs &  cellGIDs,
const std::vector< ArraySubcellGIDs > &  subcellGIDs,
const shards::CellTopology &  cell,
unsigned  subcell_dim,
std::vector< unsigned > &  subcellMap 
)

This function takes a vector of lists of GIDs defined on a cell and returns a the local Shards subcell numbering to indexes into the vector. (Essentially will return a function defining (Shards #ing -> Local Elmt #ing).

Parameters
[in]cellGIDsNode GIDs for the cell
[in]subcellGIDsNode GIDs for the subcell to be found for each subcell of a particular dimension
[in]cellShards cell topology used to find local index
[in]subcell_dimDimension of subcell to be found
[in,out]subcellMapVector mapping the shards local numbering to the user specified local numbering.

To use the mapping "function" to find the GIDs of the subcell associated with a Shards indexed subcell simply do: subcellGIDs[subcellMap[shardsIndex]]

Definition at line 186 of file Panzer_Shards_Utilities.hpp.

template<typename MapT >
const MapT::mapped_type& panzer::getEntry ( const MapT &  in_map,
const typename MapT::key_type &  in_key 
)

Definition at line 55 of file Panzer_StlMap_Utilities.hpp.

template<typename InputArray , typename... DimensionPack>
Kokkos::DynRankView<typename InputArray::value_type,PHX::Device> panzer::createDynRankView ( const InputArray &  a,
const std::string &  name,
const DimensionPack...  dims 
)

Wrapper to simplify Panzer use of Sacado ViewFactory.

Definition at line 54 of file Panzer_ViewFactory.hpp.

std::ostream & panzer::operator<< ( std::ostream &  os,
const panzer::Workset w 
)

Definition at line 404 of file Panzer_Workset.cpp.

void panzer::populateValueArrays ( std::size_t  num_cells,
bool  isSide,
const WorksetNeeds &  pb,
WorksetDetails &  details,
const Teuchos::RCP< WorksetDetails >  other_details = Teuchos::null 
)

Populate basis values and integration values data structures in the WorksetDetails object being passed in. Note that this works for both edge data structures and for volumetric data structures. Note that for this function to work the WorksetDetails object must already be populated with coordinates.

Parameters
[in]num_cellsThe number of cells contained in the workset
[in]isSidePopulate using a side subcell
[in]pbPhysics block that contains the integration rules and basis functions
[in,out]detailsObject to be populated already containing the vertex coordinates for the cells.
Note
This function is primarily for internal use. A user should not call it directly.

Definition at line 94 of file Panzer_Workset_Builder.cpp.

template<typename ArrayT >
Teuchos::RCP<std::vector<Workset> > panzer::buildWorksets ( const WorksetNeeds &  needs,
const std::string &  elementBlock,
const std::vector< std::size_t > &  local_cell_ids,
const ArrayT &  vertex_coordinates 
)
template<typename ArrayT >
Teuchos::RCP<std::map<unsigned,Workset> > panzer::buildBCWorkset ( const WorksetNeeds &  needs,
const std::string &  elementBlock,
const std::vector< std::size_t > &  local_cell_ids,
const std::vector< std::size_t > &  local_side_ids,
const ArrayT &  vertex_coordinates,
const bool  populate_value_arrays = true 
)
template<typename ArrayT >
Teuchos::RCP< std::map< unsigned, panzer::Workset > > panzer::buildBCWorkset ( const WorksetNeeds &  needs_a,
const std::string &  blockid_a,
const std::vector< std::size_t > &  local_cell_ids_a,
const std::vector< std::size_t > &  local_side_ids_a,
const ArrayT &  vertex_coordinates_a,
const panzer::WorksetNeeds needs_b,
const std::string &  blockid_b,
const std::vector< std::size_t > &  local_cell_ids_b,
const std::vector< std::size_t > &  local_side_ids_b,
const ArrayT &  vertex_coordinates_b 
)

Definition at line 367 of file Panzer_Workset_Builder_impl.hpp.

template<typename ArrayT >
Teuchos::RCP<std::vector<Workset> > panzer::buildEdgeWorksets ( const WorksetNeeds &  needs_a,
const std::string &  eblock_a,
const std::vector< std::size_t > &  local_cell_ids_a,
const std::vector< std::size_t > &  local_side_ids_a,
const ArrayT &  vertex_coordinates_a,
const WorksetNeeds &  needs_b,
const std::string &  eblock_b,
const std::vector< std::size_t > &  local_cell_ids_b,
const std::vector< std::size_t > &  local_side_ids_b,
const ArrayT &  vertex_coordinates_b 
)

This routine supports construction of worksets that are more DG like. The elements are assumed to shared an edge (or face) and the side id is specified accordingly. Note that no checking of "sharing" is done when the workset is constructed.

template<typename ArrayT >
std::vector<Workset>::iterator panzer::buildEdgeWorksets ( const std::vector< std::size_t > &  cell_indices,
const WorksetNeeds &  needs_a,
const std::string &  eblock_a,
const std::vector< std::size_t > &  local_cell_ids_a,
const std::vector< std::size_t > &  local_side_ids_a,
const ArrayT &  vertex_coordinates_a,
const WorksetNeeds &  needs_b,
const std::string &  eblock_b,
const std::vector< std::size_t > &  local_cell_ids_b,
const std::vector< std::size_t > &  local_side_ids_b,
const ArrayT &  vertex_coordinates_b,
std::vector< Workset >::iterator  beg 
)
std::vector< std::string >::size_type panzer::getPureBasisIndex ( std::string  basis_name,
const panzer::Workset workset,
WorksetDetailsAccessor &  wda 
)

Returns the index in the workset bases for a particular PureBasis name.

Parameters
[in]basis_nameName of the basis that corresponds to a particular PureBasis
[in]worksetWorksets to perform the search over
[in]wdaWorksetDetailsAccessor to access the correct WorksetDetails in workset.

Definition at line 57 of file Panzer_Workset_Utilities.cpp.

std::vector< std::string >::size_type panzer::getBasisIndex ( std::string  basis_name,
const panzer::Workset workset,
WorksetDetailsAccessor &  wda 
)

Returns the index in the workset bases for a particular BasisIRLayout name.

Parameters
[in]basis_nameName of the basis that corresponds to a particular BasisIRLayout
[in]worksetWorksets to perform the search over
[in]wdaWorksetDetailsAccessor to access the correct WorksetDetails in workset.

Definition at line 80 of file Panzer_Workset_Utilities.cpp.

std::vector< int >::size_type panzer::getIntegrationRuleIndex ( int  ir_degree,
const panzer::Workset workset,
WorksetDetailsAccessor &  wda 
)

Definition at line 97 of file Panzer_Workset_Utilities.cpp.

void panzer::printWorkset ( std::ostream &  os,
const panzer::Workset workset,
WorksetDetailsAccessor &  wda 
)

Definition at line 113 of file Panzer_Workset_Utilities.cpp.

std::vector< std::string >::size_type panzer::getPureBasisIndex ( std::string  basis_name,
const panzer::Workset workset 
)

Definition at line 204 of file Panzer_Workset_Utilities.cpp.

std::vector< std::string >::size_type panzer::getBasisIndex ( std::string  basis_name,
const panzer::Workset workset 
)

Definition at line 209 of file Panzer_Workset_Utilities.cpp.

std::vector< int >::size_type panzer::getIntegrationRuleIndex ( int  ir_degree,
const panzer::Workset workset 
)

Definition at line 214 of file Panzer_Workset_Utilities.cpp.

void panzer::printWorkset ( std::ostream &  os,
const panzer::Workset workset 
)

Definition at line 218 of file Panzer_Workset_Utilities.cpp.

void panzer::getVolumeWorksetsFromContainer ( WorksetContainer &  wc,
const std::vector< std::string > &  elementBlockNames,
std::map< std::string, Teuchos::RCP< std::vector< Workset > > > &  volumeWksts 
)

Build a map of volume worksets from a list of element blocks. Note that this may, if needed, allocate these worksets in the workset container object.

Parameters
[in]wcWorkset container that contains, or will contain, the volume worksets.
[in]elementBlockNamesElement blocks to build the worksets for.
[out]volumeWkstsMap form element block ids to the volume worksets. This will not be cleared but the worksets with shared element names will be overwritten.

Definition at line 472 of file Panzer_WorksetContainer.cpp.

void panzer::getSideWorksetsFromContainer ( WorksetContainer &  wc,
const std::vector< BC > &  bcs,
std::map< BC, Teuchos::RCP< std::map< unsigned, Workset > >, LessBC > &  sideWksts 
)

Build a map of side worksets from a list of boundary conditions. Note that this may, if needed, allocate these worksets in the workset container object.

Parameters
[in]wcWorkset container that contains, or will contain, the volume worksets.
[in]bcsBoundary conditions to use.
[out]sideWkstsMap form element block ids to the volume worksets. This will not be cleared but the worksets with shared element names will be overwritten.

Definition at line 482 of file Panzer_WorksetContainer.cpp.

bool panzer::operator== ( const WorksetDescriptor &  a,
const WorksetDescriptor &  b 
)
inline

Equality operation for use with hash tables and maps.

Definition at line 299 of file Panzer_WorksetDescriptor.hpp.

std::size_t panzer::hash_value ( const WorksetDescriptor &  wd)
inline

Hash function that satisifies the stl hash interface.

Definition at line 316 of file Panzer_WorksetDescriptor.hpp.

std::ostream& panzer::operator<< ( std::ostream &  os,
const WorksetDescriptor &  wd 
)
inline

I/O utility.

Definition at line 331 of file Panzer_WorksetDescriptor.hpp.

WorksetDescriptor panzer::blockDescriptor ( const std::string &  eBlock)
inline

Builds a descriptor specifying an element block.

Definition at line 348 of file Panzer_WorksetDescriptor.hpp.

WorksetDescriptor panzer::sidesetDescriptor ( const std::string &  eBlock,
const std::string &  sideset 
)
inline

Builds a descriptor specifying a sideset, specify surface terms.

Definition at line 354 of file Panzer_WorksetDescriptor.hpp.

WorksetDescriptor panzer::sidesetVolumeDescriptor ( const std::string &  eBlock,
const std::string &  sideset 
)
inline

Builds a descriptor specifying a sideset, however specify volumetric terms not surface terms.

Definition at line 361 of file Panzer_WorksetDescriptor.hpp.

KOKKOS_INLINE_FUNCTION void panzer::zeroSensitivities ( panzer::Traits::RealType )

Zero out AD types so that we can drop sensitivity contributions.

Specialization for Residual

Definition at line 58 of file Panzer_ZeroSensitivities.hpp.

KOKKOS_INLINE_FUNCTION void panzer::zeroSensitivities ( panzer::Traits::FadType s)

Specialization for Fad type Jacobian.

Definition at line 62 of file Panzer_ZeroSensitivities.hpp.

KOKKOS_INLINE_FUNCTION void panzer::zeroSensitivities ( panzer::Traits::HessianType s)

Specialization for Fad type Hessian.

Definition at line 70 of file Panzer_ZeroSensitivities.hpp.

template<typename T >
KOKKOS_INLINE_FUNCTION Sacado::mpl::enable_if< Sacado::IsView<T> >::type panzer::zeroSensitivities ( x)

Specialization for Kokkos View reference type Jacobian.

Definition at line 90 of file Panzer_ZeroSensitivities.hpp.

Definition at line 104 of file Panzer_ResponseMESupportBuilderBase.hpp.

Definition at line 108 of file Panzer_ResponseMESupportBuilderBase.hpp.

Definition at line 112 of file Panzer_ResponseMESupportBuilderBase.hpp.

Definition at line 117 of file Panzer_ResponseMESupportBuilderBase.hpp.

template<class T >
void panzer::hash_combine ( std::size_t &  seed,
const T &  v 
)
inline

Definition at line 30 of file Panzer_HashUtils.hpp.

void panzer::printMemoryUsage ( std::ostream &  s,
const Teuchos::Comm< int > &  comm 
)

Print memory usage to stream.

Definition at line 99 of file Panzer_MemUtils.cpp.

void panzer::printMemoryUsage ( std::ostream &  s,
const Teuchos::Comm< int > &  comm,
const MemUsage &  mem 
)

Definition at line 111 of file Panzer_MemUtils.cpp.

void panzer::pretty ( std::ostream &  s,
size_t  num 
)

Definition at line 132 of file Panzer_MemUtils.cpp.

MemUsage panzer::getMemoryUsage ( const Teuchos::Comm< int > &  comm)

Get memory usage in B.

Definition at line 153 of file Panzer_MemUtils.cpp.

MemUsage panzer::getPeakRSS ( const Teuchos::Comm< int > &  comm)

Returns the peak (maximum so far) resident set size (physical memory use) measured in bytes, or zero if the value cannot be determined on this OS.

Definition at line 165 of file Panzer_MemUtils.cpp.

MemUsage panzer::getCurrentRSS ( const Teuchos::Comm< int > &  comm)

Returns the current resident set size (physical memory use) measured in bytes, or zero if the value cannot be determined on this OS.

Definition at line 222 of file Panzer_MemUtils.cpp.

MemUsage panzer::reduceMemUsage ( size_t &  mem,
const Teuchos::Comm< int > &  comm,
const MemUsageType &  type 
)

Reduce the memory usage over all the processors.

Definition at line 271 of file Panzer_MemUtils.cpp.

void panzer::pauseToAttach ( MPI_Comm  mpicomm)
inline

Definition at line 57 of file Panzer_PauseToAttach.hpp.

void panzer::pauseToAttach ( )
inline

Definition at line 75 of file Panzer_PauseToAttach.hpp.

void panzer::trim ( std::string &  str)

Removes whitespace at beginning and end of string.

Definition at line 48 of file Panzer_String_Utilities.cpp.

void panzer::StringTokenizer ( std::vector< std::string > &  tokens,
const std::string &  str,
const std::string  delimiters,
bool  trim 
)

Tokenize a string, put tokens in a vector.

Definition at line 65 of file Panzer_String_Utilities.cpp.

void panzer::TokensToDoubles ( std::vector< double > &  values,
const std::vector< std::string > &  tokens 
)

Turn a vector of tokens into a vector of doubles.

Definition at line 97 of file Panzer_String_Utilities.cpp.

void panzer::TokensToInts ( std::vector< int > &  values,
const std::vector< std::string > &  tokens 
)

Turn a vector of tokens into a vector of ints.

Definition at line 110 of file Panzer_String_Utilities.cpp.

template<typename ScalarT >
ScalarT panzer::getScalarParameter ( const std::string &  field,
const Teuchos::ParameterList plist 
)

Read in a parameter field and return the correct scalar field. This parses scalar type data

Definition at line 71 of file Panzer_String_Utilities.hpp.

void panzer::reorder ( std::vector< int > &  order,
std::function< void(int, int)>  swapper 
)

Using a functor, reorder an array using a order vector.

Parameters
[in,out]orderVector that describes the desired order. Note on output, this array will be sorted.
[in]swapperFunctor that swaps entries in the array to be sorted. Data being swapped must be captured by the functor.

Definition at line 5 of file Panzer_UtilityAlgs.cpp.

std::string panzer::version ( )

Definition at line 48 of file Panzer_Version.cpp.

std::ostream & panzer::operator<< ( std::ostream &  os,
const FieldPattern &  fp 
)

Stream IO.

Definition at line 139 of file Panzer_FieldPattern.cpp.

Teuchos::RCP<Epetra_IntVector> panzer::buildGhostedFieldReducedVectorEpetra ( const GlobalIndexer &  ugi)

Construct a vector that contains a reduced set of field numbers. The ordering is based on the ordering from ugi.getOwnedAndGhostedIndices(). The term "reduced" means that this processor must be able to fully determine the field number for each global number. There are some cases where processors are split across element blocks with differing fields that this is nontrivial.

Parameters
[in]ugiGlobal indexer to use.
Returns
Reduced vector containing the field numbers.
Note
The description and use of this function are equally confusing...
Teuchos::RCP<const Epetra_IntVector> panzer::buildGhostedFieldVectorEpetra ( const GlobalIndexer &  ugi,
const Teuchos::RCP< const Epetra_IntVector > &  reducedVec = Teuchos::null 
)

This function builds a vector that defines fields for each global unknown. Notice that requires global communication and uses (underneath) the Tpetra vector hence the required node type template parameter.

This function returns a vector that serves as a map between Global indices ordered from ugi.getOwnedAndGhostedIndices() and the corresponding field number.

Parameters
[in]ugiUnique global indexer object that defines the ordering, global ids and field numbers.
[in]reducedVecReduced field vector to use. If none is passed it is compute by buildGhostedFieldReducedVector
void panzer::buildGhostedFieldVectorEpetra ( const GlobalIndexer &  ugi,
std::vector< int > &  fieldNumbers,
const Teuchos::RCP< const Epetra_IntVector > &  reducedVec = Teuchos::null 
)

This function builds a vector that defines fields for each global unknown. Notice that requires global communication and uses (underneath) the Tpetra vector hence the required node type template parameter.

This function returns a vector that serves as a map between Global indices ordered from ugi.getOwnedAndGhostedIndices() and the corresponding field number.

Parameters
[in]ugiUnique global indexer object that defines the ordering, global ids and field numbers.
[out]fieldNumbersField numbers ordered to match up with a call to ugi.getOwnedAndGhostedIndices(). Meaning that fieldNumbers.size() is the same length as the vector build by a call to getOwnedAndGhostedIndices().
[in]reducedVecReduced field vector to use. If none is passed it is compute by buildGhostedFieldReducedVector
template<typename ScalarT , typename ArrayT >
void panzer::updateGhostedDataReducedVectorEpetra ( const std::string &  fieldName,
const std::string  blockId,
const GlobalIndexer &  ugi,
const ArrayT &  data,
Epetra_MultiVector dataVector 
)

Build a reduced data vector using the reduced field vector. Here reduced is meant in the exact same context as for the field vectors.

Parameters
[in]fieldNameName of field data should be ordered as
[in]ugiUnique global indexer object that defines the ordering, global ids and field numbers.
[in]reducedFieldVecA reduced vector containing the correctly ordered field numbers. Likely computed by buildGhostedFieldReducedVector.
[in]dataData to put in vector
[out]ATpetra vector containing the data in the reduced format. This is now available for an import to construct the true ghosted data vector. This map must match the reducedFieldVec map.

Definition at line 67 of file Panzer_GlobalIndexer_EpetraUtilities_impl.hpp.

Teuchos::RCP<const Epetra_BlockMap> panzer::getFieldMapEpetra ( int  fieldNum,
const Epetra_IntVector fieldVector 
)

Construct a map that only uses a certain field.

Parameters
[in]fieldNumField ID to use to build the map
[in]fieldVectorAn listing of the fields. For instance [0,1,2,0,1,2,0,1,2...] for a three dimensional interlaced vector field.
Returns
A vector that contains the indices of the field requested. Again for the three dimensional vector field if fieldNum==1, it would be [1,4,7,10,13,...].
std::vector<Teuchos::RCP<const GlobalIndexer> > panzer::nc2c_vector ( const std::vector< Teuchos::RCP< GlobalIndexer > > &  ugis)

Definition at line 50 of file Panzer_GlobalIndexer_Utilities.cpp.

int panzer::getFieldBlock ( const std::string &  fieldName,
const std::vector< Teuchos::RCP< const GlobalIndexer >> &  ugis 
)

Get the block associated with a particular field. This is an exhaustive (e.g. expensive) search. This returns the first found index into the ugis that contains the required field.

Parameters
[in]fieldNameThe field to look for.
[in]ugisThe global indexers to look in.
Returns
The index that this field is in. If this returns -1, no field was found.

Definition at line 60 of file Panzer_GlobalIndexer_Utilities.cpp.

int panzer::getFieldBlock ( const std::string &  fieldName,
const std::vector< Teuchos::RCP< GlobalIndexer >> &  ugis 
)

Get the block associated with a particular field. This is an exhaustive (e.g. expensive) search. This returns the first found index into the ugis that contains the required field.

Parameters
[in]fieldNameThe field to look for.
[in]ugisThe global indexers to look in.
Returns
The index that this field is in. If this returns -1, no field was found.

Definition at line 73 of file Panzer_GlobalIndexer_Utilities.cpp.

void panzer::computeBlockOffsets ( const std::string &  blockId,
const std::vector< Teuchos::RCP< GlobalIndexer >> &  ugis,
std::vector< int > &  blockOffsets 
)

Compute the offsets for the global indexer for a particular block id. This is useful for unknown numbering into a block format. The local element matrix will be logically ordered like the monolithic operator. These offsets are the local start and end of a particular block. For instance if you are intersted in block i then the start index would be at blockOffsets[i] and the end would be at blockOffsets[i+1] Note that this requires a sentinnel in the block offsets size. (Note that the use of element block and block are confusing but different in this context)

Parameters
[in]blockIdElement block name that to do this for.
[in]ugisUnique global indexers containing fields to be blocked
[out]blockOffsetsResult vector with length ugis.size()+1.

Definition at line 86 of file Panzer_GlobalIndexer_Utilities.cpp.

void panzer::computeBlockOffsets ( const std::string &  blockId,
const std::vector< Teuchos::RCP< const GlobalIndexer >> &  ugis,
std::vector< int > &  blockOffsets 
)

Compute the offsets for the global indexer for a particular block id. This is useful for unknown numbering into a block format. The local element matrix will be logically ordered like the monolithic operator. These offsets are the local start and end of a particular block. For instance if you are intersted in block i then the start index would be at blockOffsets[i] and the end would be at blockOffsets[i+1] Note that this requires a sentinnel in the block offsets size. (Note that the use of element block and block are confusing but different in this context)

Parameters
[in]blockIdElement block name that to do this for.
[in]ugisUnique global indexers containing fields to be blocked
[out]blockOffsetsResult vector with length ugis.size()+1.

Definition at line 100 of file Panzer_GlobalIndexer_Utilities.cpp.

std::string panzer::printUGILoadBalancingInformation ( const GlobalIndexer &  ugi)

Print out unique global indexer load balancing information. This includes the minimum unknown, maximum unknown count, mean unknown and standard deviation of the unknowns for both owned and owned and ghosted.

Definition at line 115 of file Panzer_GlobalIndexer_Utilities.cpp.

void panzer::printMeshTopology ( std::ostream &  os,
const panzer::GlobalIndexer ugi 
)

Print all GIDs and their associated elements to the screen. Note if a FancyOStream is used the correct prefixes this method will label the processors as well. This can print out an extreme amount of information so it is only useful for debugging.

Definition at line 143 of file Panzer_GlobalIndexer_Utilities.cpp.

Teuchos::RCP< Tpetra::Vector< int, int, panzer::GlobalOrdinal, panzer::TpetraNodeType > > panzer::buildGhostedFieldReducedVector ( const GlobalIndexer &  ugi)

Construct a vector that contains a reduced set of field numbers. The ordering is based on the ordering from ugi.getOwnedAndGhostedIndices(). The term "reduced" means that this processor must be able to fully determine the field number for each global number. There are some cases where processors are split across element blocks with differing fields that this is nontrivial.

Parameters
[in]ugiGlobal indexer to use.
Returns
Reduced vector containing the field numbers.
Note
The description and use of this function are equally confusing...

Definition at line 178 of file Panzer_GlobalIndexer_Utilities.cpp.

void panzer::buildGhostedFieldVector ( const GlobalIndexer &  ugi,
std::vector< int > &  fieldNumbers,
const Teuchos::RCP< const Tpetra::Vector< int, int, panzer::GlobalOrdinal, panzer::TpetraNodeType > > &  reducedVec = Teuchos::null 
)

This function builds a vector that defines fields for each global unknown. Notice that requires global communication and uses (underneath) the Tpetra vector hence the required node type template parameter.

This function returns a vector that serves as a map between Global indices ordered from ugi.getOwnedAndGhostedIndices() and the corresponding field number.

Parameters
[in]ugiUnique global indexer object that defines the ordering, global ids and field numbers.
[out]fieldNumbersField numbers ordered to match up with a call to ugi.getOwnedAndGhostedIndices(). Meaning that fieldNumbers.size() is the same length as the vector build by a call to getOwnedAndGhostedIndices().
[in]reducedVecReduced field vector to use. If none is passed it is compute by buildGhostedFieldReducedVector

Definition at line 233 of file Panzer_GlobalIndexer_Utilities.cpp.

Teuchos::RCP< const Tpetra::Vector< int, int, panzer::GlobalOrdinal, panzer::TpetraNodeType > > panzer::buildGhostedFieldVector ( const GlobalIndexer &  ugi,
const Teuchos::RCP< const Tpetra::Vector< int, int, panzer::GlobalOrdinal, panzer::TpetraNodeType > > &  reducedVec = Teuchos::null 
)

This function builds a vector that defines fields for each global unknown. Notice that requires global communication and uses (underneath) the Tpetra vector hence the required node type template parameter.

This function returns a vector that serves as a map between Global indices ordered from ugi.getOwnedAndGhostedIndices() and the corresponding field number.

Parameters
[in]ugiUnique global indexer object that defines the ordering, global ids and field numbers.
[in]reducedVecReduced field vector to use. If none is passed it is compute by buildGhostedFieldReducedVector

Definition at line 246 of file Panzer_GlobalIndexer_Utilities.cpp.

Teuchos::RCP< const Tpetra::Map< int, panzer::GlobalOrdinal, panzer::TpetraNodeType > > panzer::getFieldMap ( int  fieldNum,
const Tpetra::Vector< int, int, panzer::GlobalOrdinal, panzer::TpetraNodeType > &  fieldTVector 
)

Construct a map that only uses a certain field.

Construct a map that only uses a certain field.

Parameters
[in]fieldNumField ID to use to build the map
[in]fieldVectorAn listing of the fields. For instance [0,1,2,0,1,2,0,1,2...] for a three dimensional interlaced vector field.
Returns
A vector that contains the indices of the field requested. Again for the three dimensional vector field if fieldNum==1, it would be [1,4,7,10,13,...].

Definition at line 284 of file Panzer_GlobalIndexer_Utilities.cpp.

std::vector<Teuchos::RCP<const GlobalIndexer> > panzer::nc2c_vector ( const std::vector< Teuchos::RCP< GlobalIndexer >> &  ugis)

Convert a nonconst to a constant vector. This works around an RCP issue where the compiler gets confused by const.

template<typename ScalarT , typename ArrayT >
void panzer::updateGhostedDataReducedVector ( const std::string &  fieldName,
const std::string  blockId,
const GlobalIndexer &  ugi,
const ArrayT &  data,
Tpetra::MultiVector< ScalarT, int, panzer::GlobalOrdinal, panzer::TpetraNodeType > &  dataVector 
)

Build a reduced data vector using the reduced field vector. Here reduced is meant in the exact same context as for the field vectors.

Parameters
[in]fieldNameName of field data should be ordered as
[in]ugiUnique global indexer object that defines the ordering, global ids and field numbers.
[in]reducedFieldVecA reduced vector containing the correctly ordered field numbers. Likely computed by buildGhostedFieldReducedVector.
[in]dataData to put in vector
[out]ATpetra vector containing the data in the reduced format. This is now available for an import to construct the true ghosted data vector. This map must match the reducedFieldVec map.

Definition at line 60 of file Panzer_GlobalIndexer_Utilities_impl.hpp.