Classes | |
| class | BackwardEulerStepper |
| Simple concrete stepper subclass implementing an implicit backward Euler method. More... | |
| class | BreakPointInformerBase |
| Interface for using breakpoints. More... | |
| class | CompositeIntegratorObserver |
| Standard composite observer subclass. More... | |
| class | DataStore |
| class | ErrWtVecCalcAcceptingStepControlStrategyBase |
| Mix-in interface for step control strategy objects that accept an external error weight calculation and WRMS norm. More... | |
| class | ErrWtVecCalcBase |
| class | ExplicitRKStepper |
| More... | |
| class | ExplicitTaylorPolynomialStepper |
| Implementation of Rythmos::Stepper for explicit Taylor polynomial time integration of ODEs. More... | |
| class | ROpLogNormInf |
| Reduction operator for a logarithmic infinity norm. More... | |
| class | ForwardEulerStepper |
| More... | |
| class | ForwardResponseSensitivityComputer |
| Concrete utility class for computing (assembling) forward transient response sensitivities. More... | |
| class | ForwardResponseSensitivityComputerObserver |
| Observer class that computes sensitivities at the end of each time step. More... | |
| class | ForwardSensitivityIntegratorAsModelEvaluator |
Concrete Thyra::ModelEvaluator subclass that turns a forward ODE/DAE with an observation into a parameterized evaluation of p -> g with forward sensitivities DgDp. More... | |
| class | ForwardSensitivityModelEvaluator |
Forward sensitivity transient ModelEvaluator subclass. More... | |
| class | ForwardSensitivityStepper |
| Foward sensitivity stepper concrete subclass. More... | |
| class | HermiteInterpolator |
| class | ImplicitBDFStepper |
| More... | |
| class | ImplicitBDFStepperErrWtVecCalc |
| class | ImplicitBDFStepperStepControl |
| class | IntegrationControlStrategyBase |
| Base class for strategy objects that control integration by selecting step sizes for a stepper. More... | |
| class | IntegrationObserverBase |
| Base class for strategy objects that observe and time integration by observing the stepper object. More... | |
| class | IntegratorBase |
| Abstract interface for time integrators. More... | |
| class | IntegratorDefault |
Concrete subclass of InterpolationBufferBase implemented in terms of a StepperBase object and a trailing InterpolationBufferBase object. More... | |
| class | InterpolationBuffer |
| concrete class for interpolation buffer functionality. More... | |
| class | InterpolationBufferAppenderBase |
| class | InterpolationBufferAppenderDefault |
| class | InterpolationBufferAppenderSmart |
| class | InterpolationBufferBase |
| Base class for an interpolation buffer. More... | |
| class | InterpolatorBase |
| Base strategy class for interpolation functionality. More... | |
| class | LinearInterpolator |
| class | ResponseAndFwdSensPoint |
| Simple class to combine a response and it's forward sensitivity at a time point. More... | |
| class | SimpleIntegrationControlStrategy |
| Base class for strategy objects that control integration by selecting step sizes for a stepper. More... | |
| class | SimpleIntegrator |
A very simple concrete subclass for IntegratorBase that allows just for simple fixed steps or variable steps. More... | |
| class | SingleResidualModelEvaluator |
| Decorator subclass for a steady-state version of a DAE for single-residual time stepper methods. More... | |
| class | SingleResidualModelEvaluatorBase |
| Base class mix-in interface for single-residual model evaluators. More... | |
| class | SolverAcceptingStepperBase |
| Mix-in interface all implicit stepper objects that accept a nonlinear solver to be used to compute the timestep. More... | |
| class | StateAndForwardSensitivityModelEvaluator |
Combined State and Forward sensitivity transient ModelEvaluator subclass. More... | |
| struct | StepControlInfo |
| Simple strict to aggregate integration/stepper control information. More... | |
| class | StepControlStrategyAcceptingStepperBase |
| Mix-in interface for stepper objects that accept a step control strategy object to be used for evaluating steps and picking step-sizes & orders. More... | |
| class | StepControlStrategyBase |
| The member functions in the StepControlStrategyBase move you between these states in the following fashion:. More... | |
| class | StepperAsModelEvaluator |
Concrete Thyra::ModelEvaluator subclass that takes a parameterized stepper and turns it into a model evaluator (p,t) ==> g. More... | |
| class | StepperBase |
| Base class for defining stepper functionality. More... | |
| struct | StepStatus |
| More... | |
| class | TimeRange |
| Represent a time range. More... | |
| class | TimeStepNonlinearSolver |
| Simple undampended Newton solver designed to solve time step equations in accurate times-tepping methods. More... | |
Namespaces | |
| namespace | ForwardSensitivityIntegratorAsModelEvaluatorTypes |
| namespace | Exceptions |
Enumerations | |
| enum | BDFactionFlag |
| More... | |
| enum | AttemptedStepStatusFlag |
| step control strategy interface to be used for evaluating steps and picking step-sizes & orders.. More... | |
| enum | StepControlStrategyState |
| More... | |
| enum | StepSizeType |
| Step type. More... | |
| enum | EStepStatus { STEP_STATUS_UNINITIALIZED, STEP_STATUS_CONVERGED, STEP_STATUS_UNKNOWN } |
| More... | |
| enum | EStepLETStatus { STEP_LET_STATUS_PASSED, STEP_LET_STATUS_FAILED, STEP_LET_STATUS_UNKNOWN } |
| More... | |
| enum | EBreakPointType |
| More... | |
Functions | |
| template<class Scalar> | |
| void | dataStoreVectorToVector (const typename DataStore< Scalar >::DataStoreVector_t &ds, Array< Scalar > *time_vec, Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > *x_vec, Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > *xdot_vec, Array< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > *accuracy_vec) |
| template<class Scalar> | |
| void | vectorToDataStoreVector (const Array< Scalar > &time_vec, const Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > &x_vec, const Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > &xdot_vec, const Array< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &accuracy_vec, typename DataStore< Scalar >::DataStoreVector_t *ds) |
| template<class Scalar> | |
| void | vectorToDataStoreList (const Array< Scalar > &time_vec, const Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > &x_vec, const Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > &xdot_vec, const Array< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &accuracy_vec, typename DataStore< Scalar >::DataStoreList_t *ds) |
| template<class Scalar> | |
| void | vectorToDataStoreList (const Array< Scalar > &time_vec, const Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > &x_vec, const Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > &xdot_vec, typename DataStore< Scalar >::DataStoreList_t *ds) |
| template<typename Scalar> | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | log_norm_inf (const Thyra::VectorBase< Scalar > &x) |
| Computs logarithmic infinity norm of a vector using ROpLogNormInf. | |
| template<class Scalar> | |
| void | extractStateAndSens (const RCP< const Thyra::VectorBase< Scalar > > &x_bar, const RCP< const Thyra::VectorBase< Scalar > > &x_bar_dot, RCP< const Thyra::VectorBase< Scalar > > *x, RCP< const Thyra::MultiVectorBase< Scalar > > *S, RCP< const Thyra::VectorBase< Scalar > > *x_dot, RCP< const Thyra::MultiVectorBase< Scalar > > *S_dot) |
| Extract the state and sensitivities from x_bar and x_bar_dot. | |
| template<class Scalar> | |
| void | extractStateAndSens (const RCP< const Thyra::VectorBase< Scalar > > &x_bar, const RCP< const Thyra::VectorBase< Scalar > > &x_bar_dot, RCP< const Thyra::VectorBase< Scalar > > *x, RCP< const Thyra::MultiVectorBase< Scalar > > *S, RCP< const Thyra::VectorBase< Scalar > > *x_dot, RCP< const Thyra::MultiVectorBase< Scalar > > *S_dot) |
| Extract the state and sensitivities from x_bar and x_bar_dot. | |
| template<class Scalar> | |
| RCP< ForwardSensitivityIntegratorAsModelEvaluator< Scalar > > | forwardSensitivityIntegratorAsModelEvaluator (const RCP< StepperBase< Scalar > > &stateStepper, const RCP< IntegratorBase< Scalar > > &stateIntegrator, const RCP< ForwardSensitivityStepper< Scalar > > &stateAndSensStepper, const RCP< IntegratorBase< Scalar > > &stateAndSensIntegrator, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &stateAndSensInitCond, const Array< Scalar > &responseTimes, const Array< RCP< const Thyra::ModelEvaluator< Scalar > > > &responseFuncs, const Array< Thyra::ModelEvaluatorBase::InArgs< Scalar > > &responseFuncBasePoints, const ForwardSensitivityIntegratorAsModelEvaluatorTypes::EResponseType responseType) |
| Nonmember constructor. | |
| template<class Scalar> | |
| void | assertTimePointsAreSorted (const Array< Scalar > &time_vec) |
| template<class Scalar> | |
| void | assertNoTimePointsBeforeCurrentTimeRange (const InterpolationBufferBase< Scalar > &interpBuffer, const Array< Scalar > &time_vec, const int &startingTimePointIndex) |
| template<class Scalar> | |
| void | assertNoTimePointsInsideCurrentTimeRange (const InterpolationBufferBase< Scalar > &interpBuffer, const Array< Scalar > &time_vec) |
| template<class TimeType> | |
| void | selectPointsInTimeRange (Array< TimeType > *points_out, const Array< TimeType > &points_in, const TimeRange< TimeType > &range) |
| template<class TimeType> | |
| void | removePointsInTimeRange (Array< TimeType > *points_in, const TimeRange< TimeType > &range) |
| template<class Scalar> | |
| bool | getCurrentPoints (const InterpolationBufferBase< Scalar > &interpBuffer, const Array< Scalar > &time_vec, Array< RCP< const Thyra::VectorBase< Scalar > > > *x_vec, Array< RCP< const Thyra::VectorBase< Scalar > > > *xdot_vec, int *nextTimePointIndex_inout) |
| template<class Scalar> | |
| void | assertBaseInterpolatePreconditions (const typename DataStore< Scalar >::DataStoreVector_t &data_in, const Array< Scalar > &t_values, typename DataStore< Scalar >::DataStoreVector_t *data_out) |
| template<class Scalar> | |
| std::ostream & | operator<< (std::ostream &out, const StepControlInfo< Scalar > &stepCtrlInfo) |
| | |
| template<class Scalar> | |
| RCP< StepperAsModelEvaluator< Scalar > > | stepperAsModelEvaluator (const RCP< StepperBase< Scalar > > &stepper, const RCP< IntegratorBase< Scalar > > &integrator, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &initialCondition) |
| Nonmember constructor. | |
| template<class Scalar> | |
| void | restart (StepperBase< Scalar > *stepper) |
| Restart a time stepper. | |
| const char * | toString (const StepSizeType stepSizeType) |
| Convert StepSizeType to string. | |
| const char * | toString (const EStepStatus stepStatus) |
| | |
| const char * | toString (const EStepLETStatus stepLETStatus) |
| | |
| const char * | toString (const EBreakPointType breakPointType) |
| | |
| template<class Scalar> | |
| std::ostream & | operator<< (std::ostream &out_arg, const StepStatus< Scalar > &stepStatus) |
| | |
| template<class TimeType> | |
| int | compareTimeValues (const TimeType &t1, const TimeType &t2) |
| Compare two times taking into account floating point errors. | |
| std::string | Rythmos_Version () |
step control strategy interface to be used for evaluating steps and picking step-sizes & orders..
Definition at line 46 of file Rythmos_StepControlStrategyBase.hpp.
| enum Rythmos::EStepStatus |
| STEP_STATUS_UNINITIALIZED | Stepper is uninitialized. |
| STEP_STATUS_CONVERGED | Nonlinear solver converged and local error test passed. |
| STEP_STATUS_UNKNOWN | Status is unknown. |
Definition at line 62 of file Rythmos_StepperSupportTypes.hpp.
| STEP_LET_STATUS_PASSED | The local truncation error test passed. |
| STEP_LET_STATUS_FAILED | The local truncation error test failed. |
| STEP_LET_STATUS_UNKNOWN | No local truncation error test was evaluated. |
Definition at line 86 of file Rythmos_StepperSupportTypes.hpp.
| Teuchos::ScalarTraits<Scalar>::magnitudeType Rythmos::log_norm_inf | ( | const Thyra::VectorBase< Scalar > & | x | ) |
Computs logarithmic infinity norm of a vector using ROpLogNormInf.
Definition at line 359 of file Rythmos_ExplicitTaylorPolynomialStepper.hpp.
| void Rythmos::extractStateAndSens | ( | const RCP< const Thyra::VectorBase< Scalar > > & | x_bar, | |
| const RCP< const Thyra::VectorBase< Scalar > > & | x_bar_dot, | |||
| RCP< const Thyra::VectorBase< Scalar > > * | x, | |||
| RCP< const Thyra::MultiVectorBase< Scalar > > * | S, | |||
| RCP< const Thyra::VectorBase< Scalar > > * | x_dot, | |||
| RCP< const Thyra::MultiVectorBase< Scalar > > * | S_dot | |||
| ) |
Extract the state and sensitivities from x_bar and x_bar_dot.
x_bar = [ x ; s_bar ] x_bar_dot = [ x_dot; s_bar_dot ] s_bar = .. s_bar_dot = ...
Definition at line 78 of file Rythmos_extractStateAndSens.hpp.
| void Rythmos::extractStateAndSens | ( | const RCP< const Thyra::VectorBase< Scalar > > & | x_bar, | |
| const RCP< const Thyra::VectorBase< Scalar > > & | x_bar_dot, | |||
| RCP< const Thyra::VectorBase< Scalar > > * | x, | |||
| RCP< const Thyra::MultiVectorBase< Scalar > > * | S, | |||
| RCP< const Thyra::VectorBase< Scalar > > * | x_dot, | |||
| RCP< const Thyra::MultiVectorBase< Scalar > > * | S_dot | |||
| ) |
Extract the state and sensitivities from x_bar and x_bar_dot.
x_bar = [ x ; s_bar ] x_bar_dot = [ x_dot; s_bar_dot ] s_bar = .. s_bar_dot = ...
Definition at line 78 of file Rythmos_extractStateAndSens.hpp.
| RCP<ForwardSensitivityIntegratorAsModelEvaluator<Scalar> > Rythmos::forwardSensitivityIntegratorAsModelEvaluator | ( | const RCP< StepperBase< Scalar > > & | stateStepper, | |
| const RCP< IntegratorBase< Scalar > > & | stateIntegrator, | |||
| const RCP< ForwardSensitivityStepper< Scalar > > & | stateAndSensStepper, | |||
| const RCP< IntegratorBase< Scalar > > & | stateAndSensIntegrator, | |||
| const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | stateAndSensInitCond, | |||
| const Array< Scalar > & | responseTimes, | |||
| const Array< RCP< const Thyra::ModelEvaluator< Scalar > > > & | responseFuncs, | |||
| const Array< Thyra::ModelEvaluatorBase::InArgs< Scalar > > & | responseFuncBasePoints, | |||
| const ForwardSensitivityIntegratorAsModelEvaluatorTypes::EResponseType | responseType | |||
| ) |
Nonmember constructor.
Definition at line 332 of file Rythmos_ForwardSensitivityIntegratorAsModelEvaluator.hpp.
| std::ostream& Rythmos::operator<< | ( | std::ostream & | out, | |
| const StepControlInfo< Scalar > & | stepCtrlInfo | |||
| ) |
| RCP<StepperAsModelEvaluator<Scalar> > Rythmos::stepperAsModelEvaluator | ( | const RCP< StepperBase< Scalar > > & | stepper, | |
| const RCP< IntegratorBase< Scalar > > & | integrator, | |||
| const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | initialCondition | |||
| ) |
| void Rythmos::restart | ( | StepperBase< Scalar > * | stepper | ) |
Restart a time stepper.
This simple helper function just grabs the state out of the *stepper object and then resets it on itself as an initial condition. This is generally used to restart a stepper when passing over a breakpoint where the model is expected to be discontinuous in some way.
Definition at line 20 of file Rythmos_StepperHelpers.hpp.
| const char* Rythmos::toString | ( | const StepSizeType | stepSizeType | ) | [inline] |
| const char* Rythmos::toString | ( | const EStepStatus | stepStatus | ) | [inline] |
| const char* Rythmos::toString | ( | const EStepLETStatus | stepLETStatus | ) | [inline] |
| const char* Rythmos::toString | ( | const EBreakPointType | breakPointType | ) | [inline] |
| std::ostream& Rythmos::operator<< | ( | std::ostream & | out_arg, | |
| const StepStatus< Scalar > & | stepStatus | |||
| ) |
| int Rythmos::compareTimeValues | ( | const TimeType & | t1, | |
| const TimeType & | t2 | |||
| ) |
Compare two times taking into account floating point errors.
-1 if v1 <= v2, 0 if v1==v2 and +1 if v1 >= v2.This function is designed to solve the problem where in:
const TimeType timeStep = endTime - time; const TimeType updatedEndTime = time + timeStep; const bool isAtOrPastEndTime = ( updatedEndTime >= endTime );
the bool isAtOrPastEndTime may actually be false! This is especially a danger if IEEE floating point numerics are not being used (and there are many systems that do not for speed and other reasons).
Definition at line 60 of file Rythmos_TimeRange.hpp.
1.4.7