48 #include "Teuchos_oblackholestream.hpp" 49 #include "Teuchos_XMLParameterListHelpers.hpp" 50 #include "Teuchos_GlobalMPISession.hpp" 51 #include "Teuchos_Comm.hpp" 52 #include "Teuchos_DefaultComm.hpp" 53 #include "Teuchos_CommHelpers.hpp" 69 int main(
int argc,
char *argv[]) {
71 Teuchos::GlobalMPISession mpiSession(&argc, &argv);
74 int iprint = argc - 1;
75 bool print = (iprint>0);
76 Teuchos::RCP<std::ostream> outStream;
77 Teuchos::oblackholestream bhs;
79 outStream = Teuchos::rcp(&std::cout,
false);
81 outStream = Teuchos::rcp(&bhs,
false);
95 Teuchos::RCP<BurgersFEM<RealT> > fem
97 fem->test_inverse_mass(*outStream);
98 fem->test_inverse_H1(*outStream);
103 Teuchos::RCP<ROL::EqualityConstraint_SimOpt<RealT> > con
109 Teuchos::RCP<std::vector<RealT> > z_rcp
110 = Teuchos::rcp(
new std::vector<RealT> (nx+2, 0.0) );
111 Teuchos::RCP<ROL::Vector<RealT> > zp
114 Teuchos::RCP<std::vector<RealT> > u_rcp
115 = Teuchos::rcp(
new std::vector<RealT> (nx, 1.0) );
116 Teuchos::RCP<ROL::Vector<RealT> > up
119 Teuchos::RCP<std::vector<RealT> > c_rcp
120 = Teuchos::rcp(
new std::vector<RealT> (nx, 1.0) );
121 Teuchos::RCP<ROL::Vector<RealT> > cp
126 RealT tol = std::sqrt(ROL::ROL_EPSILON<RealT>());
127 con->solve(*cp,*up,*zp,tol);
128 RealT rnorm = cp->norm();
129 con->value(*cp,*up,*zp,tol);
130 RealT cnorm = cp->norm();
131 errorFlag += ((cnorm > tol) ? 1 : 0) + ((rnorm > tol) ? 1 : 0);
132 *outStream << std::scientific << std::setprecision(8);
133 *outStream <<
"\nTest SimOpt solve at feasible (u,z):\n";
134 *outStream <<
" Solver Residual = " << rnorm <<
"\n";
135 *outStream <<
" ||c(u,z)|| = " << cnorm;
136 *outStream <<
"\n\n";
138 catch (std::logic_error err) {
139 *outStream << err.what() <<
"\n";
144 std::cout <<
"End Result: TEST FAILED\n";
146 std::cout <<
"End Result: TEST PASSED\n";
L2VectorPrimal< RealT > PrimalControlVector
H1VectorDual< RealT > DualStateVector
L2VectorDual< RealT > DualControlVector
H1VectorDual< RealT > PrimalConstraintVector
H1VectorPrimal< RealT > PrimalStateVector
int main(int argc, char *argv[])
H1VectorPrimal< RealT > DualConstraintVector