Teuchos::RCP<panzer::BCStrategy_TemplateManager<panzer::Traits> > buildBCStrategy(const panzer::BC& bc,const Teuchos::RCP<panzer::GlobalData>& global_data) const { Teuchos::RCP<panzer::BCStrategy_TemplateManager<panzer::Traits> > bcs_tm = Teuchos::rcp(new panzer::BCStrategy_TemplateManager<panzer::Traits>); bool found = false; PANZER_BUILD_BCSTRATEGY_OBJECTS("Constant", Example::BCStrategy_Dirichlet_Constant, BCStrategy_Dirichlet_Constant) PANZER_BUILD_BCSTRATEGY_OBJECTS("Neumann Constant", Example::BCStrategy_Neumann_Constant, BCStrategy_Neumann_Constant) PANZER_BUILD_BCSTRATEGY_OBJECTS("Weak Dirichlet Match Interface", Example::BCStrategy_Interface_WeakDirichletMatch, BCStrategy_Interface_WeakDirichletMatch) PANZER_BUILD_BCSTRATEGY_OBJECTS("Neumann Match Interface", Example::BCStrategy_Interface_NeumannMatch, BCStrategy_Interface_NeumannMatch) TEUCHOS_TEST_FOR_EXCEPTION(!found, std::logic_error, "Error - the BC Strategy called \"" << bc.strategy() << "\" is not a valid identifier in the BCStrategyFactory. Either add a " "valid implementation to your factory or fix your input file. The " "relevant boundary condition is:\n\n" << bc << std::endl); return bcs_tm; }
Teuchos::RCP<panzer::BCStrategy_TemplateManager<panzer::Traits> > buildBCStrategy(const panzer::BC& bc, const Teuchos::RCP<panzer::GlobalData>& global_data) const { Teuchos::RCP<panzer::BCStrategy_TemplateManager<panzer::Traits> > bcs_tm = Teuchos::rcp(new panzer::BCStrategy_TemplateManager<panzer::Traits>); bool found = false; PANZER_BUILD_BCSTRATEGY_OBJECTS("Constant 1", BCStrategy_Dirichlet_Constant); if (m_throw_on_failure) TEUCHOS_TEST_FOR_EXCEPTION(!found, std::logic_error, "Error - the BC Strategy Physics1 called \"" << bc.strategy() << "\" is not a valid identifier in the BCStrategyFactory. Either add a valid implementation to your factory or fix your input file. The relevant boundary condition is:\n\n" << bc << std::endl); if (!found) return Teuchos::null; return bcs_tm; }