~chaffra/+junk/trilinos

« back to all changes in this revision

Viewing changes to packages/rythmos/src/Rythmos_ForwardSensitivityStepperTester_decl.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme, Christophe Prud'homme, Johannes Ring
  • Date: 2009-12-13 12:53:22 UTC
  • mfrom: (5.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20091213125322-in0nrdjc55deqsw9
Tags: 10.0.3.dfsg-1
[Christophe Prud'homme]
* New upstream release

[Johannes Ring]
* debian/patches/libname.patch: Add prefix 'libtrilinos_' to all
  libraries. 
* debian/patches/soname.patch: Add soversion to libraries.
* debian/watch: Update download URL.
* debian/control:
  - Remove python-numeric from Build-Depends (virtual package).
  - Remove automake and autotools from Build-Depends and add cmake to
    reflect switch to CMake.
  - Add python-support to Build-Depends.
* debian/rules: 
  - Cleanup and updates for switch to CMake.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//@HEADER
 
2
// ***********************************************************************
 
3
//
 
4
//                           Rythmos Package
 
5
//                 Copyright (2006) Sandia Corporation
 
6
//
 
7
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
 
8
// license for use of this work by or on behalf of the U.S. Government.
 
9
//
 
10
// This library is free software; you can redistribute it and/or modify
 
11
// it under the terms of the GNU Lesser General Public License as
 
12
// published by the Free Software Foundation; either version 2.1 of the
 
13
// License, or (at your option) any later version.
 
14
//
 
15
// This library is distributed in the hope that it will be useful, but
 
16
// WITHOUT ANY WARRANTY; without even the implied warranty of
 
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
18
// Lesser General Public License for more details.
 
19
//
 
20
// You should have received a copy of the GNU Lesser General Public
 
21
// License along with this library; if not, write to the Free Software
 
22
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 
23
// USA
 
24
// Questions? Contact Todd S. Coffey (tscoffe@sandia.gov)
 
25
//
 
26
// ***********************************************************************
 
27
//@HEADER
 
28
 
 
29
#ifndef Rythmos_FORWARD_SENSITIVITY_STEPPER_TESTER_DECL_H
 
30
#define Rythmos_FORWARD_SENSITIVITY_STEPPER_TESTER_DECL_H
 
31
 
 
32
 
 
33
#include "Rythmos_StepperSupportTypes.hpp"
 
34
#include "Rythmos_IntegratorBase.hpp"
 
35
#include "Thyra_ModelEvaluator.hpp"
 
36
#include "Teuchos_VerboseObject.hpp"
 
37
#include "Teuchos_ParameterListAcceptorDefaultBase.hpp"
 
38
 
 
39
 
 
40
namespace Rythmos {
 
41
 
 
42
 
 
43
template<class Scalar> class ForwardSensitivityStepperTester;
 
44
 
 
45
 
 
46
namespace ForwardSensitivityStepperTesterUtils {
 
47
 
 
48
const std::string FdCalc_name = "FD Calc";
 
49
 
 
50
const std::string ErrorTol_name = "Error Tol";
 
51
const double ErrorTol_default = 1e-6;
 
52
 
 
53
} // namespace ForwardSensitivityStepperTesterUtils
 
54
 
 
55
 
 
56
/** \brief Nonmember constructor.
 
57
 *
 
58
 * \relates ForwardSensitivityStepperTester
 
59
 */
 
60
template<class Scalar>
 
61
RCP<ForwardSensitivityStepperTester<Scalar> >
 
62
forwardSensitivityStepperTester();
 
63
 
 
64
 
 
65
/** \brief Nonmember constructor.
 
66
 *
 
67
 * \relates ForwardSensitivityStepperTester
 
68
 */
 
69
template<class Scalar>
 
70
RCP<ForwardSensitivityStepperTester<Scalar> >
 
71
forwardSensitivityStepperTester(const RCP<ParameterList> &paramList);
 
72
 
 
73
 
 
74
/** \brief Concrete testing class for forward sensitivities.
 
75
 *
 
76
 * ToDo: Finish documentation!
 
77
 */
 
78
template<class Scalar> 
 
79
class ForwardSensitivityStepperTester
 
80
  : virtual public Teuchos::VerboseObject<ForwardSensitivityStepperTester<Scalar> >,
 
81
    virtual public Teuchos::ParameterListAcceptorDefaultBase
 
82
{
 
83
public:
 
84
 
 
85
  typedef typename ScalarTraits<Scalar>::magnitudeType ScalarMag;
 
86
 
 
87
  /** @name Overridden from ParameterListAcceptor (simple forwarding functions) */
 
88
  //@{
 
89
 
 
90
  /** \brief . */
 
91
  void setParameterList(RCP<ParameterList> const& paramList);
 
92
  /** \brief . */
 
93
  RCP<const ParameterList> getValidParameters() const;
 
94
 
 
95
  //@}
 
96
 
 
97
  /** \name Testing functions */
 
98
  //@{
 
99
 
 
100
  /** \brief Test a forward sensitivity stepper.
 
101
   */
 
102
  bool testForwardSens(
 
103
    const Ptr<IntegratorBase<Scalar> > &fwdSensIntegrator
 
104
    );
 
105
 
 
106
  //@}
 
107
 
 
108
#ifndef TEMPLATE_FRIENDS_NOT_SUPPORTED
 
109
 
 
110
  /** \name Public friend functions */
 
111
  //@{
 
112
 
 
113
  ///
 
114
  friend RCP< ForwardSensitivityStepperTester<Scalar> >
 
115
  forwardSensitivityStepperTester<>();
 
116
 
 
117
  //@}
 
118
 
 
119
#endif // TEMPLATE_FRIENDS_NOT_SUPPORTED
 
120
  
 
121
 
 
122
#ifndef TEMPLATE_FRIENDS_NOT_SUPPORTED
 
123
private:
 
124
#endif // TEMPLATE_FRIENDS_NOT_SUPPORTED
 
125
 
 
126
  ForwardSensitivityStepperTester(); // Note defined and not to be called
 
127
 
 
128
private:
 
129
 
 
130
  ScalarMag errorTol_;
 
131
 
 
132
};
 
133
 
 
134
 
 
135
} // namespace Rythmos
 
136
 
 
137
 
 
138
#endif //Rythmos_FORWARD_SENSITIVITY_STEPPER_TESTER_DECL_H