44#ifndef EPETRAEXT_MULTIPOINTMODELEVALUATOR_H
45#define EPETRAEXT_MULTIPOINTMODELEVALUATOR_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;
124 Teuchos::RCP<std::vector< Teuchos::RCP<Epetra_Vector> > >
q_vec;
153 Teuchos::RCP<EpetraExt::BlockCrsMatrix>
block_W;
188#ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
191#ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
196#ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
199#ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
211 Teuchos::RCP<std::vector< Teuchos::RCP<Epetra_Vector> > >
matching_vec;
Simple aggregate class for a derivative object represented as a column-wise multi-vector or its trans...
Simple aggregate class that stores a derivative object as a general linear operator or as a multi-vec...
Base interface for evaluating a stateless "model".
EDerivativeMultiVectorOrientation
EDerivativeMultiVectorOrientation orientation_DgDp
Some local data.
Teuchos::RCP< EpetraExt::MultiComm > globalComm
Pointer to the global (full XYZT) communicator.
std::vector< std::vector< long long > > * rowStencil_LL
Teuchos::RCP< const Epetra_Map > get_x_map() const
EpetraExt::BlockVector * block_x
Pointer to global multipoint solution vector – local storage.
Teuchos::RCP< std::vector< Teuchos::RCP< Epetra_Vector > > > q_vec
Array of parameter vectors that define the multi-point problem.
EpetraExt::ModelEvaluator::DerivativeMultiVector * derivMV_DfDp
Teuchos::RCP< Epetra_RowMatrix > split_W
Pointer to split (spatial) Jacobian matrix.
EpetraExt::ModelEvaluator::Derivative * deriv_DfDp
Teuchos::RCP< Epetra_Vector > split_f
Split (spatial) residual vector – local storage.
Teuchos::RCP< const Epetra_Map > get_f_map() const
std::vector< int > * rowIndex_int
Set of indices into global XYZT Jacobian matrix.
~MultiPointModelEvaluator()
int timeDomain
Time domain on current processor.
Teuchos::RCP< EpetraExt::BlockVector > solution_init
Pointer to initial multipoint solution vector.
OutArgs createOutArgs() const
void evalModel(const InArgs &inArgs, const OutArgs &outArgs) const
Teuchos::RCP< Epetra_Vector > split_x
Split (spatial) input vector – local storage.
int timeStepsOnTimeDomain
Number of time steps computed on each time domain.
Teuchos::RCP< Epetra_MultiVector > split_DfDp
Split sensitivity vector – local storage.
EpetraExt::ModelEvaluator::Derivative * deriv_DgDp
Teuchos::RCP< const Epetra_Map > get_g_map(int j) const
\breif .
EpetraExt::BlockVector * block_f
Pointer to global multipoint residual vector – local storage.
Teuchos::RCP< std::vector< Teuchos::RCP< Epetra_Vector > > > matching_vec
Array of vectors that have data for g-matching optimization problem.
EpetraExt::BlockMultiVector * block_DgDx
Pointer to global multipoint DfDp multi vector – local storage.
Teuchos::RCP< Epetra_MultiVector > split_DgDp
std::vector< long long > * rowIndex_LL
Teuchos::RCP< EpetraExt::ModelEvaluator > underlyingME
InArgs createInArgs() const
EpetraExt::ModelEvaluator::DerivativeMultiVector * derivMV_DgDx
Teuchos::RCP< Epetra_MultiVector > split_DgDx
Split sensitivity vector – local storage.
Teuchos::RCP< const Epetra_Vector > get_x_init() 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)
EpetraExt::ModelEvaluator::DerivativeMultiVector * derivMV_DgDp
EpetraExt::ModelEvaluator::Derivative * deriv_DgDx
std::vector< std::vector< int > > * rowStencil_int
Stencil for each row of global XYZT Jacobian matrix.
Teuchos::RCP< Epetra_Operator > create_W() const
Teuchos::RCP< Epetra_Vector > split_g
Split vector of response functions – local storage.
int numTimeDomains
Total number of time step domains.
Teuchos::RCP< EpetraExt::BlockCrsMatrix > block_W
Pointer to global XYZT Jacobian matrix.
EpetraExt::BlockMultiVector * block_DfDp
Pointer to global multipoint DfDp multi vector – local storage.
int underlyingNg
Number of g vectors supported by underlyingME, often used as a bool.
Teuchos::RCP< const Epetra_Map > get_p_map(int l) const
\breif .
Teuchos::RCP< const Epetra_Vector > get_p_init(int l) const
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.