Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_STK_PeriodicBC_Parser.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Panzer: A partial differential equation assembly
4 // engine for strongly coupled complex multiphysics systems
5 //
6 // Copyright 2011 NTESS and the Panzer contributors.
7 // SPDX-License-Identifier: BSD-3-Clause
8 // *****************************************************************************
9 // @HEADER
10 
11 #ifndef __Panzer_STK_PeriodicBC_Parser_hpp__
12 #define __Panzer_STK_PeriodicBC_Parser_hpp__
13 
15 
17 #include "Teuchos_ParameterListAcceptor.hpp"
18 #include "Teuchos_RCP.hpp"
19 
20 #include <vector>
21 #include <string>
22 
23 namespace panzer_stk {
24 
30 public:
32 
35  const std::vector<Teuchos::RCP<const PeriodicBC_MatcherBase> > &
36  getMatchers() const;
37 
40  const bool & useBoundingBoxSearch() const;
41 
42  // parameterlistacceptor required functions
45 
47 
49 
51 
52  // specific to this class
54 
61 
68  buildMatcher(const std::string & buildStr) const;
69 
74  std::pair<std::string, unsigned int> getMatcherTypeAndDim(const std::string & buildStr) const;
75 
79  std::string replaceMatcherType(const std::string & buildStr, const std::string & matcherType) const;
80 
84  void buildMatcher_Tokenize(const std::string & buildStr,
85  std::string & matcher,
86  std::string & bndry1,
87  std::string & bndry2) const;
88 
95  bool buildMatcher_Tokenize_withParams(const std::string & buildStr,
96  std::string & matcher,
97  std::vector<std::string> & params,
98  std::string & bndry1,
99  std::string & bndry2) const;
100 private:
103 
105  std::vector<Teuchos::RCP<const PeriodicBC_MatcherBase> > matchers_;
106  std::vector<Teuchos::RCP<const PeriodicBC_MatcherBase> > edgeMatchers_;
107  std::vector<Teuchos::RCP<const PeriodicBC_MatcherBase> > faceMatchers_;
108 
109  // stored string values
110  const std::string countStr_;
111  const std::string condPrefix_;
112  const std::string searchStr_;
113 
114  // stored flag indicating if bounding box search is used for periodic DOF matching
116 };
117 
118 }
119 
120 #endif
bool buildMatcher_Tokenize_withParams(const std::string &buildStr, std::string &matcher, std::vector< std::string > &params, std::string &bndry1, std::string &bndry2) const
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &pl)
Teuchos::RCP< Teuchos::ParameterList > storedPL_
stored parameter list
std::vector< Teuchos::RCP< const PeriodicBC_MatcherBase > > faceMatchers_
std::vector< Teuchos::RCP< const PeriodicBC_MatcherBase > > matchers_
matchers constructed by &quot;setParameterList&quot;
const std::vector< Teuchos::RCP< const PeriodicBC_MatcherBase > > & getMatchers() const
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
std::vector< Teuchos::RCP< const PeriodicBC_MatcherBase > > edgeMatchers_
void buildMatcher_Tokenize(const std::string &buildStr, std::string &matcher, std::string &bndry1, std::string &bndry2) const
std::string replaceMatcherType(const std::string &buildStr, const std::string &matcherType) const
std::pair< std::string, unsigned int > getMatcherTypeAndDim(const std::string &buildStr) const
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
Teuchos::RCP< const PeriodicBC_MatcherBase > buildMatcher(const std::string &buildStr) const