Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Tempus_InterpolatorLagrange_decl.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ****************************************************************************
3
// Tempus: Copyright (2017) Sandia Corporation
4
//
5
// Distributed under BSD 3-clause license (See accompanying file Copyright.txt)
6
// ****************************************************************************
7
// @HEADER
8
9
#ifndef Tempus_InterpolatorLagrange_decl_hpp
10
#define Tempus_InterpolatorLagrange_decl_hpp
11
12
#include "Tempus_config.hpp"
13
#include "
Tempus_Interpolator.hpp
"
14
15
namespace
Tempus
{
16
20
template
<
class
Scalar>
21
class
InterpolatorLagrange
:
virtual
public
Interpolator
<Scalar>
22
{
23
public
:
24
26
InterpolatorLagrange
() :
order_
(0) {}
27
29
~InterpolatorLagrange
() {}
30
32
33
35
void
setNodes
(
36
const
Teuchos::RCP<
const
std::vector<Teuchos::RCP<
SolutionState<Scalar>
> > > & nodes) {
nodes_
= nodes; }
37
39
void
interpolate
(
const
Scalar& t,
SolutionState<Scalar>
* state_out)
const
;
40
42
int
order
()
const
{
return
order_
; }
43
45
47
48
std::string
description
()
const
{
return
"Tempus::InterpolatorLagrange"
; }
49
void
describe
(Teuchos::FancyOStream &out,
50
const
Teuchos::EVerbosityLevel
/* verbLevel */
)
const
51
{
52
out.setOutputToRootOnly(0);
53
out <<
description
() <<
"::describe"
<< std::endl;
54
}
55
56
58
59
void
setParameterList
(
const
Teuchos::RCP<Teuchos::ParameterList>& paramList);
60
Teuchos::RCP<Teuchos::ParameterList>
getNonconstParameterList
();
61
Teuchos::RCP<Teuchos::ParameterList>
unsetParameterList
();
62
Teuchos::RCP<const Teuchos::ParameterList>
getValidParameters
()
const
;
64
65
private
:
66
67
void
lagrange
(
const
int
p,
const
Scalar& t,
68
SolutionState<Scalar>
* state_out)
const
;
69
70
Teuchos::RCP<const std::vector<Teuchos::RCP<SolutionState<Scalar> > > >
nodes_
;
71
Teuchos::RCP<Teuchos::ParameterList>
pl_
;
72
int
order_
;
73
74
};
75
76
// Nonmember constructor
77
template
<
class
Scalar>
78
Teuchos::RCP<InterpolatorLagrange<Scalar> >
lagrangeInterpolator
()
79
{
80
return
Teuchos::rcp(
new
InterpolatorLagrange<Scalar>
);
81
}
82
83
}
// namespace Tempus
84
85
#endif
// Tempus_InterpolatorLagrange_decl_hpp
Tempus_Interpolator.hpp
Tempus::InterpolatorLagrange
Concrete implemenation of Interpolator that does simple lagrange interpolation.
Definition
Tempus_InterpolatorLagrange_decl.hpp:22
Tempus::InterpolatorLagrange::~InterpolatorLagrange
~InterpolatorLagrange()
Destructor.
Definition
Tempus_InterpolatorLagrange_decl.hpp:29
Tempus::InterpolatorLagrange::describe
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel) const
Definition
Tempus_InterpolatorLagrange_decl.hpp:49
Tempus::InterpolatorLagrange::order
int order() const
Return the order of the interpolation.
Definition
Tempus_InterpolatorLagrange_decl.hpp:42
Tempus::InterpolatorLagrange::pl_
Teuchos::RCP< Teuchos::ParameterList > pl_
Definition
Tempus_InterpolatorLagrange_decl.hpp:71
Tempus::InterpolatorLagrange::order_
int order_
Definition
Tempus_InterpolatorLagrange_decl.hpp:72
Tempus::InterpolatorLagrange::getNonconstParameterList
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
Definition
Tempus_InterpolatorLagrange_impl.hpp:48
Tempus::InterpolatorLagrange::InterpolatorLagrange
InterpolatorLagrange()
Contructor.
Definition
Tempus_InterpolatorLagrange_decl.hpp:26
Tempus::InterpolatorLagrange::unsetParameterList
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
Definition
Tempus_InterpolatorLagrange_impl.hpp:56
Tempus::InterpolatorLagrange::nodes_
Teuchos::RCP< const std::vector< Teuchos::RCP< SolutionState< Scalar > > > > nodes_
Definition
Tempus_InterpolatorLagrange_decl.hpp:70
Tempus::InterpolatorLagrange::setNodes
void setNodes(const Teuchos::RCP< const std::vector< Teuchos::RCP< SolutionState< Scalar > > > > &nodes)
Store pointer to interpolation nodes.
Definition
Tempus_InterpolatorLagrange_decl.hpp:35
Tempus::InterpolatorLagrange::getValidParameters
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Definition
Tempus_InterpolatorLagrange_impl.hpp:66
Tempus::InterpolatorLagrange::setParameterList
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > ¶mList)
Definition
Tempus_InterpolatorLagrange_impl.hpp:34
Tempus::InterpolatorLagrange::lagrange
void lagrange(const int p, const Scalar &t, SolutionState< Scalar > *state_out) const
Definition
Tempus_InterpolatorLagrange_impl.hpp:77
Tempus::InterpolatorLagrange::interpolate
void interpolate(const Scalar &t, SolutionState< Scalar > *state_out) const
Perform an interpolation.
Definition
Tempus_InterpolatorLagrange_impl.hpp:22
Tempus::InterpolatorLagrange::description
std::string description() const
Definition
Tempus_InterpolatorLagrange_decl.hpp:48
Tempus::Interpolator
Base strategy class for interpolation functionality.
Definition
Tempus_Interpolator.hpp:34
Tempus::SolutionState
Solution state for integrators and steppers.
Definition
Tempus_SolutionState_decl.hpp:140
Tempus
Definition
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:21
Tempus::lagrangeInterpolator
Teuchos::RCP< InterpolatorLagrange< Scalar > > lagrangeInterpolator()
Definition
Tempus_InterpolatorLagrange_decl.hpp:78
Generated by
1.17.0