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" 53 class Epetra_CrsGraph;
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>
120 const double t,
const Epetra_Vector *coeff_s_p = 0
124 Teuchos::RCP<const Epetra_MultiVector>
126 const double t,
const Epetra_Vector *coeff_s_p = 0
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
252 Teuchos::RCP<DiagonalTransientModel>
253 diagonalTransientModel(
254 Teuchos::RCP<Epetra_Comm>
const& epetra_comm,
255 Teuchos::RCP<Teuchos::ParameterList>
const& paramList = Teuchos::null
267 #endif // EPETRA_EXT_DIAGONAL_TRANSIENT_MODEL_HPP RCP_Eptra_Vector_Array_t p_init_
Teuchos::RCP< Epetra_CrsGraph > W_graph_
Teuchos::RCP< Epetra_Comm > epetra_comm_
Teuchos::RCP< Epetra_Operator > create_W() const
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.
Simple transient diagonal model for an implicit or explicit ODE.
int coeff_s_idx(int i) const
Teuchos::Array< Teuchos::RCP< Teuchos::Array< std::string > > > RCP_Array_String_Array_t
Teuchos::RCP< const Epetra_Map > get_g_map(int j) const
.
Teuchos::RCP< const Epetra_Map > get_x_map() const
Teuchos::RCP< const Teuchos::Array< std::string > > get_p_names(int l) const
.
Teuchos::RCP< const Epetra_Vector > get_p_init(int l) const
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
Teuchos::Array< Teuchos::RCP< const Epetra_Map > > RCP_Eptra_Map_Array_t
Teuchos::RCP< const Epetra_Vector > get_x_dot_init() const
DiagonalTransientModel(Teuchos::RCP< Epetra_Comm > const &epetra_comm)
Teuchos::RCP< Epetra_Vector > gamma_
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
RCP_Eptra_Map_Array_t map_g_
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
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::Array< int > coeff_s_idx_t
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
OutArgs createOutArgs() const
Teuchos::RCP< const Epetra_Map > get_p_map(int l) const
.
Teuchos::RCP< const Epetra_Vector > get_x_init() const
bool exactSolutionAsResponse_
coeff_s_idx_t coeff_s_idx_
InArgs createInArgs() const
Teuchos::RCP< const Epetra_Vector > coeff_s_p_
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const ¶mList)
Teuchos::RCP< const Epetra_Map > get_f_map() const
Teuchos::Array< double > coeff_s_t
void set_coeff_s_p(const Teuchos::RCP< const Epetra_Vector > &coeff_s_p) const
Teuchos::RCP< const Epetra_Vector > get_gamma() const
Return the model vector gamma,.
Teuchos::Array< Teuchos::RCP< Epetra_Vector > > RCP_Eptra_Vector_Array_t
RCP_Eptra_Map_Array_t map_p_
RCP_Array_String_Array_t names_p_
Teuchos::RCP< Teuchos::ParameterList > paramList_
void evalModel(const InArgs &inArgs, const OutArgs &outArgs) const
Teuchos::RCP< Epetra_Map > epetra_map_
double coeff_s(int i) const
Base interface for evaluating a stateless "model".
Teuchos::RCP< Epetra_Vector > x_init_
Teuchos::RCP< Epetra_Vector > x_dot_init_
void unset_coeff_s_p() const