47class CDR_Model :
public ::Thyra::StateFuncModelEvaluatorBase<Scalar> {
49 CDR_Model(
const Teuchos::RCP<const Epetra_Comm> &comm,
50 const int num_global_elements,
const Scalar z_min,
58 void set_x0(
const Teuchos::ArrayView<const Scalar> &x0);
63 const Teuchos::RCP<const ::Thyra::LinearOpWithSolveFactoryBase<Scalar> >
71 Teuchos::RCP<const ::Thyra::VectorSpaceBase<Scalar> >
get_x_space()
const;
72 Teuchos::RCP<const ::Thyra::VectorSpaceBase<Scalar> >
get_f_space()
const;
74 Teuchos::RCP<Thyra::LinearOpWithSolveBase<double> >
create_W()
const;
75 Teuchos::RCP< ::Thyra::LinearOpBase<Scalar> >
create_W_op()
const;
76 Teuchos::RCP<const ::Thyra::LinearOpWithSolveFactoryBase<Scalar> >
78 ::Thyra::ModelEvaluatorBase::InArgs<Scalar>
createInArgs()
const;
79 Teuchos::RCP< ::Thyra::PreconditionerBase<Scalar> >
create_W_prec()
const;
84 virtual Teuchos::RCP<Epetra_CrsGraph>
createGraph();
91 const ::Thyra::ModelEvaluatorBase::InArgs<Scalar> &inArgs,
92 const ::Thyra::ModelEvaluatorBase::OutArgs<Scalar> &outArgs)
const;
97 const Teuchos::RCP<const Epetra_Comm>
comm_;
104 Teuchos::RCP<const ::Thyra::VectorSpaceBase<Scalar> >
x_space_;
109 Teuchos::RCP<const ::Thyra::VectorSpaceBase<Scalar> >
f_space_;
114 Teuchos::RCP<const ::Thyra::LinearOpWithSolveFactoryBase<Scalar> >
W_factory_;
119 mutable Teuchos::RCP<Epetra_Vector>
u_ptr;
121 mutable Teuchos::RCP<Epetra_Vector>
x_ptr;
126 Teuchos::RCP< ::Thyra::VectorBase<Scalar> >
x0_;
127 Teuchos::Array<Scalar>
p_;