46 :
public ::Thyra::StateFuncModelEvaluatorBase<Scalar>
50 CDR_Model(
const Teuchos::RCP<const Epetra_Comm>& comm,
51 const int num_global_elements,
60 void set_x0(
const Teuchos::ArrayView<const Scalar> &x0);
64 void set_W_factory(
const Teuchos::RCP<const ::Thyra::LinearOpWithSolveFactoryBase<Scalar> >& W_factory);
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> >
get_W_factory()
const;
77 ::Thyra::ModelEvaluatorBase::InArgs<Scalar>
createInArgs()
const;
78 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
99 const Teuchos::RCP<const Epetra_Comm>
comm_;
106 Teuchos::RCP<const ::Thyra::VectorSpaceBase<Scalar> >
x_space_;
111 Teuchos::RCP<const ::Thyra::VectorSpaceBase<Scalar> >
f_space_;
116 Teuchos::RCP<const ::Thyra::LinearOpWithSolveFactoryBase<Scalar> >
W_factory_;
121 mutable Teuchos::RCP<Epetra_Vector>
u_ptr;
123 mutable Teuchos::RCP<Epetra_Vector>
x_ptr;
128 Teuchos::RCP< ::Thyra::VectorBase<Scalar> >
x0_;
129 Teuchos::Array<Scalar>
p_;
CDR_Model(const Teuchos::RCP< const Epetra_Comm > &comm, const int num_global_elements, const Scalar z_min, const Scalar z_max, const Scalar a, const Scalar k)