43 #ifndef USER_APP_NOX_OBSERVER_NEUMANN_BC_ANALYTIC_SYSTEM_TEST_HPP
44 #define USER_APP_NOX_OBSERVER_NEUMANN_BC_ANALYTIC_SYSTEM_TEST_HPP
46 #include "Panzer_config.hpp"
48 #include "NOX_Abstract_PrePostOperator.H"
52 #include "Thyra_DefaultProductVector.hpp"
98 const ::Thyra::VectorBase<double>& th_x = n_th_x->
getThyraVector();
102 const ::Thyra::SpmdVectorBase<double>* th_spmd_x =
dynamic_cast<const ::Thyra::SpmdVectorBase<double>*
>(&th_x);
108 th_spmd_x->getLocalData(outArg(local_values));
116 TEUCHOS_TEST_FOR_EXCEPTION( std::fabs(local_values[0] - 2.0) > tol, std::runtime_error,
"Solution value for Neumann Condition is " << local_values[0] <<
" and should be 2.0. The tolerance condition, std::fabs(local_values[0] - 2.0) > tol, where tol is " << tol <<
" has been violated, causing the test to fail.");
118 local_values = Teuchos::null;
void runPostSolve(const NOX::Solver::Generic &solver)
void runPreSolve(const NOX::Solver::Generic &solver)
virtual ::Thyra::VectorBase< double > & getThyraVector()
void runPostIterate(const NOX::Solver::Generic &solver)
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
void runPreIterate(const NOX::Solver::Generic &solver)
NOXObserver_NeumannBCAnalyticSystemTest()