42#ifndef EPETRA_EXT_DIAGONAL_TRANSIENT_MODEL_HPP
43#define EPETRA_EXT_DIAGONAL_TRANSIENT_MODEL_HPP
47#include "Teuchos_VerboseObject.hpp"
48#include "Teuchos_ParameterListAcceptor.hpp"
49#include "Teuchos_Array.hpp"
101 public Teuchos::VerboseObject<DiagonalTransientModel>,
102 public Teuchos::ParameterListAcceptor
111 Teuchos::RCP<Epetra_Comm>
const& epetra_comm
115 Teuchos::RCP<const Epetra_Vector>
get_gamma()
const;
118 Teuchos::RCP<const Epetra_Vector>
124 Teuchos::RCP<const Epetra_MultiVector>
135 void setParameterList(Teuchos::RCP<Teuchos::ParameterList>
const& paramList);
151 Teuchos::RCP<const Epetra_Map>
get_x_map()
const;
153 Teuchos::RCP<const Epetra_Map>
get_f_map()
const;
155 Teuchos::RCP<const Epetra_Map>
get_p_map(
int l)
const;
157 Teuchos::RCP<const Teuchos::Array<std::string> >
get_p_names(
int l)
const;
159 Teuchos::RCP<const Epetra_Map>
get_g_map(
int j)
const;
161 Teuchos::RCP<const Epetra_Vector>
get_x_init()
const;
165 Teuchos::RCP<const Epetra_Vector>
get_p_init(
int l)
const;
167 Teuchos::RCP<Epetra_Operator>
create_W()
const;
230 const Teuchos::RCP<const Epetra_Vector> &coeff_s_p
252Teuchos::RCP<DiagonalTransientModel>
254 Teuchos::RCP<Epetra_Comm>
const& epetra_comm,
255 Teuchos::RCP<Teuchos::ParameterList>
const& paramList = Teuchos::null
Simple transient diagonal model for an implicit or explicit ODE.
Teuchos::RCP< const Epetra_Vector > coeff_s_p_
Teuchos::RCP< const Epetra_Vector > get_gamma() const
Return the model vector gamma,.
Teuchos::RCP< const Epetra_MultiVector > getExactSensSolution(const double t, const Epetra_Vector *coeff_s_p=0) const
Return the exact sensitivity of x as a function of time.
Teuchos::Array< double > coeff_s_t
Teuchos::RCP< Epetra_Comm > epetra_comm_
Teuchos::RCP< DiagonalTransientModel > diagonalTransientModel(Teuchos::RCP< Epetra_Comm > const &epetra_comm, Teuchos::RCP< Teuchos::ParameterList > const ¶mList=Teuchos::null)
Nonmember constructor.
Teuchos::RCP< const Epetra_Vector > getExactSolution(const double t, const Epetra_Vector *coeff_s_p=0) const
Return the exact solution as a function of time.
Teuchos::RCP< const Teuchos::Array< std::string > > get_p_names(int l) const
\breif .
Teuchos::RCP< Epetra_Vector > gamma_
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
coeff_s_idx_t coeff_s_idx_
Teuchos::RCP< Epetra_Vector > x_dot_init_
InArgs createInArgs() const
Teuchos::RCP< const Epetra_Vector > get_p_init(int l) const
Teuchos::RCP< const Epetra_Map > get_x_map() const
Teuchos::RCP< Epetra_Map > epetra_map_
Teuchos::RCP< const Epetra_Map > get_f_map() const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
Teuchos::Array< Teuchos::RCP< Teuchos::Array< std::string > > > RCP_Array_String_Array_t
double coeff_s(int i) const
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const ¶mList)
Teuchos::RCP< Epetra_Vector > x_init_
RCP_Eptra_Map_Array_t map_g_
Teuchos::RCP< const Epetra_Vector > get_x_init() const
void unset_coeff_s_p() const
RCP_Eptra_Vector_Array_t p_init_
void evalModel(const InArgs &inArgs, const OutArgs &outArgs) const
Teuchos::RCP< Teuchos::ParameterList > paramList_
Teuchos::RCP< const Epetra_Vector > get_x_dot_init() const
RCP_Array_String_Array_t names_p_
bool exactSolutionAsResponse_
Teuchos::RCP< Epetra_CrsGraph > W_graph_
void set_coeff_s_p(const Teuchos::RCP< const Epetra_Vector > &coeff_s_p) const
Teuchos::Array< Teuchos::RCP< Epetra_Vector > > RCP_Eptra_Vector_Array_t
Teuchos::RCP< const Epetra_Map > get_p_map(int l) const
\breif .
int coeff_s_idx(int i) const
RCP_Eptra_Map_Array_t map_p_
Teuchos::Array< Teuchos::RCP< const Epetra_Map > > RCP_Eptra_Map_Array_t
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Teuchos::RCP< Epetra_Operator > create_W() const
Teuchos::Array< int > coeff_s_idx_t
Teuchos::RCP< const Epetra_Map > get_g_map(int j) const
\breif .
OutArgs createOutArgs() const
Base interface for evaluating a stateless "model".
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.