Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Tempus_TimeEventRangeIndex_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_TimeEventIndexRange_decl_hpp
10
#define Tempus_TimeEventIndexRange_decl_hpp
11
12
#include <tuple>
13
14
#include "Teuchos_Time.hpp"
15
#include "Teuchos_ParameterList.hpp"
16
17
#include "Tempus_config.hpp"
18
#include "
Tempus_TimeEventBase.hpp
"
19
20
21
namespace
Tempus
{
22
23
28
template
<
class
Scalar>
29
class
TimeEventRangeIndex
:
virtual
public
TimeEventBase
<Scalar>
30
{
31
public
:
32
34
TimeEventRangeIndex
();
35
37
TimeEventRangeIndex
(
int
start,
int
stop,
int
stride, std::string name =
""
);
38
40
virtual
~TimeEventRangeIndex
() {}
41
43
44
51
virtual
bool
isIndex
(
int
index)
const
;
52
58
virtual
int
indexToNextEvent
(
int
index)
const
;
59
71
virtual
int
indexOfNextEvent
(
int
index)
const
;
72
82
virtual
bool
eventInRangeIndex
(
int
index1,
int
index2)
const
;
83
85
virtual
void
describe
(Teuchos::FancyOStream &out,
86
const
Teuchos::EVerbosityLevel verbLevel)
const
;
88
90
91
99
virtual
void
setIndexRange
(
int
start,
int
stop,
int
stride)
100
{
setIndexStart
(start);
setIndexStop
(stop);
setIndexStride
(stride); }
101
103
virtual
int
getIndexStart
()
const
{
return
start_
; }
105
virtual
void
setIndexStart
(
int
start);
106
108
virtual
int
getIndexStop
()
const
{
return
stop_
; }
110
virtual
void
setIndexStop
(
int
stop);
111
113
virtual
int
getIndexStride
()
const
{
return
stride_
; }
115
virtual
void
setIndexStride
(
int
stride);
116
118
virtual
int
getNumEvents
()
const
{
return
numEvents_
; }
119
121
virtual
void
setNumEvents
();
123
132
Teuchos::RCP<const Teuchos::ParameterList>
getValidParameters
()
const
;
133
134
135
protected
:
136
137
int
start_
;
138
int
stop_
;
139
int
stride_
;
140
unsigned
numEvents_
;
141
142
};
143
144
145
// Nonmember Contructors
146
// ------------------------------------------------------------------------
147
157
template
<
class
Scalar>
158
Teuchos::RCP<TimeEventRangeIndex<Scalar> >
159
createTimeEventRangeIndex
(Teuchos::RCP<Teuchos::ParameterList> pList);
160
161
162
}
// namespace Tempus
163
164
#endif
// Tempus_TimeEventIndexRange_decl_hpp
Tempus_TimeEventBase.hpp
Tempus::TimeEventBase::TimeEventBase
TimeEventBase()
Constructor.
Definition
Tempus_TimeEventBase.hpp:40
Tempus::TimeEventRangeIndex::getIndexStop
virtual int getIndexStop() const
Return the stop of the index range.
Definition
Tempus_TimeEventRangeIndex_decl.hpp:108
Tempus::TimeEventRangeIndex::isIndex
virtual bool isIndex(int index) const
Test if index is a time event.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:92
Tempus::TimeEventRangeIndex::describe
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
Describe member data.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:157
Tempus::TimeEventRangeIndex::stop_
int stop_
Stop of index range.
Definition
Tempus_TimeEventRangeIndex_decl.hpp:138
Tempus::TimeEventRangeIndex::setIndexStop
virtual void setIndexStop(int stop)
Set the stop of the index range.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:57
Tempus::TimeEventRangeIndex::indexOfNextEvent
virtual int indexOfNextEvent(int index) const
Return the index of the next event following the input index.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:110
Tempus::TimeEventRangeIndex::TimeEventRangeIndex
TimeEventRangeIndex()
Default constructor.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:16
Tempus::TimeEventRangeIndex::stride_
int stride_
Stride of index range.
Definition
Tempus_TimeEventRangeIndex_decl.hpp:139
Tempus::TimeEventRangeIndex::setIndexRange
virtual void setIndexRange(int start, int stop, int stride)
Set the range of event indices.
Definition
Tempus_TimeEventRangeIndex_decl.hpp:99
Tempus::TimeEventRangeIndex::eventInRangeIndex
virtual bool eventInRangeIndex(int index1, int index2) const
Test if an event occurs within the index range.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:129
Tempus::TimeEventRangeIndex::numEvents_
unsigned numEvents_
Number of events in index range.
Definition
Tempus_TimeEventRangeIndex_decl.hpp:140
Tempus::TimeEventRangeIndex::setIndexStart
virtual void setIndexStart(int start)
Set the start of the index range.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:46
Tempus::TimeEventRangeIndex::getNumEvents
virtual int getNumEvents() const
Return the number of events.
Definition
Tempus_TimeEventRangeIndex_decl.hpp:118
Tempus::TimeEventRangeIndex::setNumEvents
virtual void setNumEvents()
Set the number of events from start_, stop_ and stride_.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:82
Tempus::TimeEventRangeIndex::indexToNextEvent
virtual int indexToNextEvent(int index) const
How many indices until the next event.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:103
Tempus::TimeEventRangeIndex::getIndexStride
virtual int getIndexStride() const
Return the stride of the index range.
Definition
Tempus_TimeEventRangeIndex_decl.hpp:113
Tempus::TimeEventRangeIndex::getIndexStart
virtual int getIndexStart() const
Return the start of the index range.
Definition
Tempus_TimeEventRangeIndex_decl.hpp:103
Tempus::TimeEventRangeIndex::~TimeEventRangeIndex
virtual ~TimeEventRangeIndex()
Destructor.
Definition
Tempus_TimeEventRangeIndex_decl.hpp:40
Tempus::TimeEventRangeIndex::start_
int start_
Start of index range.
Definition
Tempus_TimeEventRangeIndex_decl.hpp:137
Tempus::TimeEventRangeIndex::setIndexStride
virtual void setIndexStride(int stride)
Set the stride of the index range.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:69
Tempus::TimeEventRangeIndex::getValidParameters
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Return a valid ParameterList with current settings.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:176
Tempus
Definition
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:21
Tempus::createTimeEventRangeIndex
Teuchos::RCP< TimeEventRangeIndex< Scalar > > createTimeEventRangeIndex(Teuchos::RCP< Teuchos::ParameterList > pList)
Nonmember Constructor via ParameterList.
Definition
Tempus_TimeEventRangeIndex_impl.hpp:197
Generated by
1.17.0