29  template <
typename Scalar, 
typename LocalOrdinal, 
typename GlobalOrdinal=LocalOrdinal, 
typename Node=Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
 
   62    typedef Tpetra::Operator<Scalar,LocalOrdinal,GlobalOrdinal,Node> TO;
 
   63    typedef Tpetra::CrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> TCM;
 
   64    typedef Tpetra::RowMatrixTransposer<Scalar,LocalOrdinal,GlobalOrdinal,Node> TRMT;
 
   69    RCP<TO> tpetra_fwd_op = thyra_tpetra_fwd_op->getTpetraOperator();
 
   72    TRMT transposer(tpetra_fwd_mat);
 
   73    RCP<TCM> tpetra_trans_mat = transposer.createTranspose();
 
   74    return tpetraLinearOp(thyra_op->range(), thyra_op->domain(),
 
 
   85    MEB::OutArgs<Scalar> model_outArgs =
 
   87    MEB::OutArgsSetup<Scalar> outArgs;
 
   88    outArgs.setModelEvalDescription(this->
description());
 
   89    outArgs.setSupports(MEB::OUT_ARG_f); 
 
   90    outArgs.setSupports(MEB::OUT_ARG_W_op);
 
   96    const ModelEvaluatorBase::InArgs<Scalar> &inArgs,
 
   97    const ModelEvaluatorBase::OutArgs<Scalar> &outArgs)
 const 
   99    typedef ModelEvaluatorBase MEB;
 
  100    typedef TpetraLinearOp<Scalar,LocalOrdinal,GlobalOrdinal,Node> TLO;
 
  101    typedef Tpetra::Operator<Scalar,LocalOrdinal,GlobalOrdinal,Node> TO;
 
  102    typedef Tpetra::CrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> TCM;
 
  103    typedef Tpetra::RowMatrixTransposer<Scalar,LocalOrdinal,GlobalOrdinal,Node> TRMT;
 
  105    MEB::OutArgs<Scalar> model_outArgs =
 
  108    if (model_outArgs.supports(MEB::OUT_ARG_W_op) &&
 
  113      model_outArgs->set_W_op(thyra_fwd_op);
 
  119      RCP<TLO> thyra_tpetra_fwd_op =
 
  121      RCP<TO> tpetra_fwd_op = thyra_tpetra_fwd_op->getTpetraOperator();
 
  122      RCP<TCM> tpetra_fwd_mat =
 
  124      TRMT transposer(tpetra_fwd_mat);
 
  125      RCP<TCM> tpetra_trans_mat = transposer.createTranspose();
 
  128      RCP<LOB> thyra_adj_op = outArgs.get_W_op();
 
  129      RCP<TLO> thyra_tpetra_adj_op =
 
  131      RCP<TO> tpetra_adj_op = thyra_tpetra_adj_op->getTpetraOperator();
 
  132      RCP<TCM> tpetra_adj_mat =
 
  134      *tpetra_adj_mat = *tpetra_trans_mat;