44 #ifndef EPETRAEXT_MULTIPOINTMODELEVALUATOR_H
45 #define EPETRAEXT_MULTIPOINTMODELEVALUATOR_H
47 #include "Epetra_ConfigDefs.h"
78 Teuchos::RCP<EpetraExt::ModelEvaluator> underlyingME_,
79 const Teuchos::RCP<EpetraExt::MultiComm> &globalComm_,
80 const std::vector<Epetra_Vector*> initGuessVec,
81 Teuchos::RCP<std::vector< Teuchos::RCP<Epetra_Vector> > > qvec,
82 Teuchos::RCP<std::vector< Teuchos::RCP<Epetra_Vector> > > matching_vec = Teuchos::null
94 Teuchos::RCP<const Epetra_Map>
get_x_map()
const;
96 Teuchos::RCP<const Epetra_Map>
get_f_map()
const;
98 Teuchos::RCP<const Epetra_Map>
get_p_map(
int l)
const;
100 Teuchos::RCP<const Epetra_Map>
get_g_map(
int j)
const;
102 Teuchos::RCP<const Epetra_Vector>
get_x_init()
const;
104 Teuchos::RCP<const Epetra_Vector>
get_p_init(
int l)
const;
106 Teuchos::RCP<Epetra_Operator>
create_W()
const;
118 Teuchos::RCP<EpetraExt::ModelEvaluator> underlyingME;
121 Teuchos::RCP<EpetraExt::MultiComm> globalComm;
124 Teuchos::RCP<std::vector< Teuchos::RCP<Epetra_Vector> > > q_vec;
127 Teuchos::RCP<Epetra_RowMatrix> split_W;
130 Teuchos::RCP<Epetra_Vector> split_x;
133 Teuchos::RCP<Epetra_Vector> split_f;
136 Teuchos::RCP<Epetra_Vector> split_g;
139 Teuchos::RCP<Epetra_MultiVector> split_DfDp;
142 Teuchos::RCP<Epetra_MultiVector> split_DgDx;
143 Teuchos::RCP<Epetra_MultiVector> split_DgDp;
153 Teuchos::RCP<EpetraExt::BlockCrsMatrix> block_W;
168 Teuchos::RCP<EpetraExt::BlockVector> solution_init;
174 int timeStepsOnTimeDomain;
188 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
189 std::vector< std::vector<int> >* rowStencil_int;
191 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
192 std::vector< std::vector<long long> >* rowStencil_LL;
196 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
197 std::vector<int>* rowIndex_int;
199 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
200 std::vector<long long>* rowIndex_LL;
211 Teuchos::RCP<std::vector< Teuchos::RCP<Epetra_Vector> > > matching_vec;
212 bool matchingProblem;
Teuchos::RCP< const Epetra_Vector > get_x_init() const
Teuchos::RCP< Epetra_Operator > create_W() const
Teuchos::RCP< const Epetra_Vector > get_p_init(int l) const
~MultiPointModelEvaluator()
void evalModel(const InArgs &inArgs, const OutArgs &outArgs) const
Simple aggregate class that stores a derivative object as a general linear operator or as a multi-vec...
Teuchos::RCP< const Epetra_Map > get_p_map(int l) const
.
Simple aggregate class for a derivative object represented as a column-wise multi-vector or its trans...
OutArgs createOutArgs() const
MultiPointModelEvaluator(Teuchos::RCP< EpetraExt::ModelEvaluator > underlyingME_, const Teuchos::RCP< EpetraExt::MultiComm > &globalComm_, const std::vector< Epetra_Vector * > initGuessVec, Teuchos::RCP< std::vector< Teuchos::RCP< Epetra_Vector > > > qvec, Teuchos::RCP< std::vector< Teuchos::RCP< Epetra_Vector > > > matching_vec=Teuchos::null)
EDerivativeMultiVectorOrientation
Teuchos::RCP< const Epetra_Map > get_g_map(int j) const
.
InArgs createInArgs() const
Base interface for evaluating a stateless "model".
Teuchos::RCP< const Epetra_Map > get_f_map() const
Teuchos::RCP< const Epetra_Map > get_x_map() const