Thyra Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Simple2DTpetraModelEvaluator_decl.hpp
Go to the documentation of this file.
1/*
2// @HEADER
3// ***********************************************************************
4//
5// Thyra: Interfaces and Support for Abstract Numerical Algorithms
6// Copyright (2004) Sandia Corporation
7//
8// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
9// license for use of this work by or on behalf of the U.S. Government.
10//
11// Redistribution and use in source and binary forms, with or without
12// modification, are permitted provided that the following conditions are
13// met:
14//
15// 1. Redistributions of source code must retain the above copyright
16// notice, this list of conditions and the following disclaimer.
17//
18// 2. Redistributions in binary form must reproduce the above copyright
19// notice, this list of conditions and the following disclaimer in the
20// documentation and/or other materials provided with the distribution.
21//
22// 3. Neither the name of the Corporation nor the names of the
23// contributors may be used to endorse or promote products derived from
24// this software without specific prior written permission.
25//
26// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37//
38// Questions? Contact Roscoe A. Bartlett (bartlettra@ornl.gov)
39//
40// ***********************************************************************
41// @HEADER
42*/
43
44
45#ifndef SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP
46#define SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP
47
48
49#include "Thyra_StateFuncModelEvaluatorBase.hpp"
50#include "Tpetra_CrsGraph.hpp"
51#include "Tpetra_Vector.hpp"
52
53
70template<class Scalar>
72 : public Thyra::StateFuncModelEvaluatorBase<Scalar>
73{
74public:
75
78
81
83 void set_d(const Scalar &d);
84
87
90
92
95
101 Thyra::ModelEvaluatorBase::InArgs<Scalar> getNominalValues() const;
105 Thyra::ModelEvaluatorBase::InArgs<Scalar> createInArgs() const;
106
108
109private:
110
113
115 Thyra::ModelEvaluatorBase::OutArgs<Scalar> createOutArgsImpl() const;
117 void evalModelImpl(
118 const Thyra::ModelEvaluatorBase::InArgs<Scalar> &inArgs,
119 const Thyra::ModelEvaluatorBase::OutArgs<Scalar> &outArgs
120 ) const;
121
123
124private: // data members
125
128 Thyra::ModelEvaluatorBase::InArgs<Scalar> nominalValues_;
129 Scalar d_;
133 Thyra::ModelEvaluatorBase::InArgs<Scalar> prototypeInArgs_;
134 Thyra::ModelEvaluatorBase::OutArgs<Scalar> prototypeOutArgs_;
135
136};
137
138
143template<class Scalar>
149
150
151#endif // SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP
Simple 2d simulation only ModelEvaluator for f(x) = 0 using Tpetra objects.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > x_space_
Thyra::ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
Thyra::ModelEvaluatorBase::OutArgs< Scalar > prototypeOutArgs_
void set_p(const Teuchos::ArrayView< const Scalar > &p)
Teuchos::RCP< Simple2DTpetraModelEvaluator< Scalar > > simple2DTpetraModelEvaluator()
Non-member constructor.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_f_space() const
Thyra::ModelEvaluatorBase::InArgs< Scalar > prototypeInArgs_
Teuchos::RCP< Tpetra::CrsGraph<> > W_op_graph_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
void evalModelImpl(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > create_W_op() const
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > f_space_
Thyra::ModelEvaluatorBase::OutArgs< Scalar > createOutArgsImpl() const
Teuchos::RCP< Tpetra::Vector< Scalar > > x0_
Thyra::ModelEvaluatorBase::InArgs< Scalar > nominalValues_
Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs() const
void set_x0(const Teuchos::ArrayView< const Scalar > &x0)
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)