44 #include <Teuchos_ConfigDefs.hpp> 45 #include <Teuchos_UnitTestHarness.hpp> 46 #include <Teuchos_TimeMonitor.hpp> 47 #include <Teuchos_RCP.hpp> 56 #include "Epetra_MpiComm.h" 58 #include "Epetra_SerialComm.h" 60 #include "EpetraExt_BlockVector.h" 65 Teuchos::RCP<const Epetra_Comm> comm = Teuchos::rcp(
new Epetra_MpiComm(MPI_COMM_WORLD));
67 Teuchos::RCP<const Epetra_Comm> comm = Teuchos::rcp(
new Epetra_SerialComm);
70 int rank = comm->MyPID();
73 Epetra_LocalMap stocha_map(stochaUnks,0,*comm);
74 Epetra_Map determ_map(-1,(rank+1)*10,0,*comm);
78 TEST_EQUALITY(obj_ut->NumMyElements(),determ_map.NumMyElements()*stochaUnks);
79 TEST_EQUALITY(obj_ut->NumGlobalElements(),determ_map.NumGlobalElements()*stochaUnks);
82 for(
int s=0;s<stocha_map.NumMyElements();s++) {
83 for(
int d=0;d<determ_map.NumMyElements();d++) {
84 result &= (obj_ut->GID(stochaUnks*d+s)==(stochaUnks*determ_map.GID(d)+s));
93 Teuchos::RCP<const Epetra_Comm> comm = Teuchos::rcp(
new Epetra_MpiComm(MPI_COMM_WORLD));
95 Teuchos::RCP<const Epetra_Comm> comm = Teuchos::rcp(
new Epetra_SerialComm);
99 int numProc = comm->NumProc();
103 bool full_expansion =
false;
105 Teuchos::RCP<const Stokhos::CompletePolynomialBasis<int,double> > basis =
buildBasis(num_KL,porder);
106 Teuchos::RCP<Stokhos::Sparse3Tensor<int,double> > Cijk;
107 Teuchos::RCP<Stokhos::ParallelData> sg_parallel_data;
108 Teuchos::RCP<Stokhos::OrthogPolyExpansion<int,double> > expansion;
111 Cijk = basis->computeTripleProductTensor();
113 Cijk = basis->computeLinearTripleProductTensor();
115 Teuchos::ParameterList parallelParams;
116 parallelParams.set(
"Number of Spatial Processors", numProc);
123 Teuchos::RCP<const EpetraExt::MultiComm> sg_comm = sg_parallel_data->getMultiComm();
125 Teuchos::RCP<Stokhos::EpetraSparse3Tensor> epetraCijk =
128 Epetra_Map determRowMap(-1,3,0,*comm);
129 Teuchos::RCP<Epetra_Map> determRowMap_rcp = Teuchos::rcpFromRef(determRowMap);
130 Teuchos::RCP<Stokhos::EpetraVectorOrthogPoly> x_vec_blocks =
132 for(
int b=0;b<porder+1;b++)
133 x_vec_blocks->getBlockVector()->GetBlock(b)->Print(std::cout);
136 x_vec_blocks->getBlockVector()->Print(std::cout);
static Teuchos::RCP< Epetra_Map > buildInterlaceMap(const Epetra_BlockMap &determ_map, const Epetra_BlockMap &stocha_map)
Orthogonal polynomial expansions limited to algebraic operations.
A container class storing an orthogonal polynomial whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor.
TEUCHOS_UNIT_TEST(map_test, uniform_buildInterlacedMap)
Teuchos::RCP< const Stokhos::CompletePolynomialBasis< int, double > > buildBasis(int num_KL, int porder)