Rythmos - Transient Integration for Differential Equations
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Rythmos_SimpleIntegrationControlStrategy_decl.hpp
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
23
// USA
24
// Questions? Contact Todd S. Coffey (tscoffe@sandia.gov)
25
//
26
// ***********************************************************************
27
//@HEADER
28
29
30
#ifndef RYTHMOS_SIMPLE_INTEGRATION_CONTROL_STRATEGY_DECL_HPP
31
#define RYTHMOS_SIMPLE_INTEGRATION_CONTROL_STRATEGY_DECL_HPP
32
33
34
#include "Rythmos_IntegrationControlStrategyBase.hpp"
35
#include "Rythmos_StepperBase.hpp"
36
#include "Rythmos_StepControlInfo.hpp"
37
#include "Teuchos_ParameterListAcceptorDefaultBase.hpp"
38
39
40
namespace
Rythmos {
41
42
48
template
<
class
Scalar>
49
class
SimpleIntegrationControlStrategy
50
:
virtual
public
IntegrationControlStrategyBase
<Scalar>,
51
virtual
public
Teuchos::ParameterListAcceptorDefaultBase
52
{
53
public
:
54
57
59
SimpleIntegrationControlStrategy
();
60
62
65
67
void
setParameterList
(RCP<ParameterList>
const
& paramList);
68
70
RCP<const ParameterList>
getValidParameters
()
const
;
71
73
76
78
RCP<IntegrationControlStrategyBase<Scalar> >
79
cloneIntegrationControlStrategy
()
const
;
80
82
void
resetIntegrationControlStrategy
(
83
const
TimeRange<Scalar>
&integrationTimeDomain
84
);
85
87
StepControlInfo<Scalar>
88
getNextStepControlInfo
(
89
const
StepperBase<Scalar>
&stepper,
90
const
StepControlInfo<Scalar>
&stepCtrlInfoLast,
91
const
int
timeStepIter
92
);
93
95
96
private
:
97
98
bool
takeVariableSteps_;
99
Scalar max_dt_;
100
int
numTimeSteps_;
101
Scalar fixed_dt_;
102
103
TimeRange<Scalar>
integrationTimeDomain_;
104
105
static
const
std::string takeVariableSteps_name_;
106
static
const
bool
takeVariableSteps_default_;
107
108
static
const
std::string max_dt_name_;
109
static
const
double
max_dt_default_;
110
111
static
const
std::string numTimeSteps_name_;
112
static
const
int
numTimeSteps_default_;
113
114
static
const
std::string fixed_dt_name_;
115
static
const
double
fixed_dt_default_;
116
117
};
118
119
124
template
<
class
Scalar>
125
RCP<SimpleIntegrationControlStrategy<Scalar> >
126
simpleIntegrationControlStrategy();
127
128
133
template
<
class
Scalar>
134
RCP<SimpleIntegrationControlStrategy<Scalar> >
135
simpleIntegrationControlStrategy(
const
RCP<ParameterList> ¶mList );
136
137
138
139
}
// namespace Rythmos
140
141
142
#endif
// RYTHMOS_SIMPLE_INTEGRATION_CONTROL_STRATEGY_DECL_HPP
Rythmos::IntegrationControlStrategyBase
Base class for strategy objects that control integration by selecting step sizes for a stepper.
Definition
Rythmos_IntegrationControlStrategyBase.hpp:29
Rythmos::SimpleIntegrationControlStrategy::getValidParameters
RCP< const ParameterList > getValidParameters() const
Definition
Rythmos_SimpleIntegrationControlStrategy_def.hpp:158
Rythmos::SimpleIntegrationControlStrategy::getNextStepControlInfo
StepControlInfo< Scalar > getNextStepControlInfo(const StepperBase< Scalar > &stepper, const StepControlInfo< Scalar > &stepCtrlInfoLast, const int timeStepIter)
Definition
Rythmos_SimpleIntegrationControlStrategy_def.hpp:242
Rythmos::SimpleIntegrationControlStrategy::setParameterList
void setParameterList(RCP< ParameterList > const ¶mList)
Definition
Rythmos_SimpleIntegrationControlStrategy_def.hpp:129
Rythmos::SimpleIntegrationControlStrategy::SimpleIntegrationControlStrategy
SimpleIntegrationControlStrategy()
Constructors/Initializers.
Definition
Rythmos_SimpleIntegrationControlStrategy_def.hpp:117
Rythmos::SimpleIntegrationControlStrategy::resetIntegrationControlStrategy
void resetIntegrationControlStrategy(const TimeRange< Scalar > &integrationTimeDomain)
Definition
Rythmos_SimpleIntegrationControlStrategy_def.hpp:215
Rythmos::SimpleIntegrationControlStrategy::cloneIntegrationControlStrategy
RCP< IntegrationControlStrategyBase< Scalar > > cloneIntegrationControlStrategy() const
Overridden from IntegrationControlStrategyBase.
Definition
Rythmos_SimpleIntegrationControlStrategy_def.hpp:198
Rythmos::StepControlInfo
Simple struct to aggregate integration/stepper control information.
Definition
Rythmos_StepControlInfo.hpp:18
Rythmos::StepperBase
Base class for defining stepper functionality.
Definition
Rythmos_StepperBase_decl.hpp:79
Rythmos::TimeRange
Represent a time range.
Definition
Rythmos_TimeRange_decl.hpp:73
Generated by
1.17.0