63 #include "EpetraExt_BlockUtility.h"
64 #include "EpetraExt_RowMatrixOut.h"
79 bool full_expansion =
false;
87 Cijk = basis->computeTripleProductTensor();
89 Cijk = basis->computeLinearTripleProductTensor();
92 parallelParams.
set(
"Number of Spatial Processors", numProc);
105 int gid = determRowMap->
GID(row);
109 int gid = determRowMap->
GID(row);
110 int indices[2] = {gid-1,gid+1};
116 params->
set(
"Scale Operator by Inverse Basis Norms",
false);
117 params->
set(
"Include Mean",
true);
118 params->
set(
"Only Use Linear Terms",
false);
124 for(
int i=0; i<W_sg_blocks->
size(); i++) {
141 op.setupOperator(W_sg_blocks);
144 full_op.PutScalar(0.0);
150 for(
int i=0;i<100;i++) {
168 full_op.
Apply(*x_vec_blocked,*f_vec_blocked);
169 op.Apply(*x_vec_inter,*f_vec_inter);
176 double true_norm = 0.0;
177 f_vec_blk_inter->
NormInf(&true_norm);
178 f_vec_blk_inter->
Update(-1.0,*f_vec_inter,1.0);
181 out <<
"rel error = " <<
error/true_norm <<
" ( " << true_norm <<
" ), ";
182 result &= (
error/true_norm < 1e-14);