Rythmos Namespace Reference


Classes

class  AdjointModelEvaluator
 Standard concrete adjoint ModelEvaluator for time-constant mass matrix models. More...
class  BackwardEulerStepperMomento
 Concrete momento class for the BackwardEulerStepper. More...
class  BackwardEulerStepper
 Simple concrete stepper subclass implementing an implicit backward Euler method. More...
class  BasicDiscreteAdjointStepperTester
 Concrete testing class for basic adjoint calculation. More...
class  BreakPointInformerBase
 Interface for using breakpoints. More...
class  CompositeIntegratorObserver
 Standard composite observer subclass. More...
class  CubicSplineCoeff
class  CubicSplineInterpolator
 Concrete implemenation of InterpolatorBase that implements cubic spline interpolation. More...
class  DataStore
class  DefaultIntegrator
 A concrete subclass for IntegratorBase that allows a good deal of customization. More...
class  DiagonalImplicitRKModelEvaluator
  More...
class  ErrorEstimateBase
class  ErrorEstimatorBase
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  ForwardEulerStepperMomento
 Concrete momento class for the ForwardEulerStepper. 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  ForwardSensitivityExplicitModelEvaluator
 Explicit forward sensitivity transient ModelEvaluator subclass. More...
class  ForwardSensitivityImplicitModelEvaluator
 Forward sensitivity transient ModelEvaluator subclass. 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  ForwardSensitivityModelEvaluatorBase
 Forward sensitivity transient ModelEvaluator node interface class. More...
class  ForwardSensitivityStepper
 Foward sensitivity stepper concrete subclass. More...
class  ForwardSensitivityStepperTester
 Concrete testing class for forward sensitivities. More...
class  HermiteInterpolator
class  ImplicitBDFStepper
  More...
class  ImplicitBDFStepperErrWtVecCalc
class  ImplicitBDFStepperStepControl
class  ImplicitRKModelEvaluator
  More...
class  ImplicitRKStepper
  More...
class  IntegrationControlStrategyAcceptingIntegratorBase
 Mix-in interface for integrator objects that accept an integration control strategy object to be used for evaluating steps and picking step-sizes & orders. More...
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  IntegratorBuilder
 Concrete integrator builder class. More...
class  InterpolationBuffer
 concrete class for interpolation buffer functionality. More...
class  InterpolationBufferAppenderAcceptingIntegratorBase
 Mix-in interface for integrator objects that accept an interpolationBufferAppender object to be used for appending to the trailing interpolation buffer. More...
class  InterpolationBufferAppenderBase
 Base class for strategy objects that append data from one InterplationBufferBase object to another. More...
class  InterpolationBufferBase
 Base class for an interpolation buffer. More...
class  InterpolatorAcceptingObjectBase
 Mix-in interface for objects that accept an interpolator object. More...
class  InterpolatorBase
 Base strategy class for interpolation functionality. More...
class  LinearInterpolator
 Concrete implemenation of InterpolatorBase just just does simple linear interploation. More...
class  MomentoBase
 Base class for a momento object. More...
class  PointwiseInterpolationBufferAppender
 Concrete InterplationBufferAppender subclass that just transfers notes without any regard for accuracy or order. More...
class  GaussQuadrature1D
 Specific implementation of 1D Gaussian based quadrature formulas. More...
class  GaussLegendreQuadrature1D
class  GaussLobattoQuadrature1D
class  ResponseAndFwdSensPoint
 Simple class to combine a response and it's forward sensitivity at a time point. More...
class  RKButcherTableauDefaultBase
class  BackwardEuler_RKBT
class  ForwardEuler_RKBT
class  Explicit4Stage4thOrder_RKBT
class  Explicit3_8Rule_RKBT
class  Explicit4Stage3rdOrderRunge_RKBT
class  Explicit3Stage3rdOrder_RKBT
class  Explicit3Stage3rdOrderHeun_RKBT
class  Explicit2Stage2ndOrderRunge_RKBT
class  SDIRK2Stage3rdOrder_RKBT
class  DIRK2Stage3rdOrder_RKBT
class  Implicit3Stage6thOrderKuntzmannButcher_RKBT
class  Implicit4Stage8thOrderKuntzmannButcher_RKBT
class  Implicit2Stage4thOrderHammerHollingsworth_RKBT
class  Implicit1Stage2ndOrderGauss_RKBT
class  Implicit2Stage4thOrderGauss_RKBT
class  Implicit3Stage6thOrderGauss_RKBT
class  Implicit1Stage1stOrderRadauA_RKBT
class  Implicit2Stage3rdOrderRadauA_RKBT
class  Implicit3Stage5thOrderRadauA_RKBT
class  Implicit1Stage1stOrderRadauB_RKBT
class  Implicit2Stage3rdOrderRadauB_RKBT
class  Implicit3Stage5thOrderRadauB_RKBT
class  Implicit2Stage2ndOrderLobattoA_RKBT
class  Implicit3Stage4thOrderLobattoA_RKBT
class  Implicit4Stage6thOrderLobattoA_RKBT
class  Implicit2Stage2ndOrderLobattoB_RKBT
class  Implicit3Stage4thOrderLobattoB_RKBT
class  Implicit4Stage6thOrderLobattoB_RKBT
class  Implicit2Stage2ndOrderLobattoC_RKBT
class  Implicit3Stage4thOrderLobattoC_RKBT
class  Implicit4Stage6thOrderLobattoC_RKBT
class  SDIRK5Stage5thOrder_RKBT
class  SDIRK5Stage4thOrder_RKBT
class  SDIRK3Stage4thOrder_RKBT
class  RKButcherTableauAcceptingStepperBase
 Mix-in interface stepper objects that accept an RK Butcher Tableau. More...
class  RKButcherTableauBase
class  RKButcherTableauBuilder
class  SimpleIntegrationControlStrategy
 Base class for strategy objects that control integration by selecting step sizes for a stepper. 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  SmartInterpolationBufferAppender
 Smart interplation buffer class. More...
class  SolverAcceptingStepperBase
 Mix-in interface all implicit stepper objects that accept a nonlinear solver to be used to compute the timestep. More...
class  StackedStepperStepStrategyBase
class  DefaultStackedStepperStepStrategy
class  ForwardSensitivityStackedStepperStepStrategy
class  StackedStepper
class  StateAndForwardSensitivityModelEvaluator
 Combined State and Forward sensitivity transient ModelEvaluator subclass. More...
class  StateSerializerStrategy
 Base class for serializing Rythmos state data. More...
class  XMLStateSerializerStrategy
class  BinaryStateSerializerStrategy
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...
class  StepperBuilder
struct  StepStatus
  More...
class  StepperValidator
 Class for validating steppers. More...
class  StepperValidatorMockModel
class  TimeDiscretizedBackwardEulerModelEvaluator
  More...
class  TimeRange
 Represent a time range. More...
class  TimeRange_cc
class  TimeRange_co
class  TimeRange_oo
class  TimeRange_oc
class  TimeStepNonlinearSolver
 Simple undampended Newton solver designed to solve time step equations in accurate times-tepping methods. More...
class  TrailingInterpolationBufferAcceptingIntegratorBase
 Mix-in interface for integrator objects that accept a trailing interpolation buffer object to be used for storing the results of integration. More...

Namespaces

namespace  BasicDiscreteAdjointStepperTesterUtils
namespace  ForwardSensitivityIntegratorAsModelEvaluatorTypes
namespace  ForwardSensitivityStepperTesterUtils
namespace  Exceptions

Enumerations

enum  ERROR_QUANTITY_OF_INTEREST
enum  BDFactionFlag
  More...
enum  IBPolicy
enum  E_RKButcherTableauTypes
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>
RCP< BackwardEulerStepper<
Scalar > > 
backwardEulerStepper ()
template<class Scalar>
RCP< BackwardEulerStepper<
Scalar > > 
backwardEulerStepper (const RCP< Thyra::ModelEvaluator< Scalar > > &model, const RCP< Thyra::NonlinearSolverBase< Scalar > > &solver)
template<class Scalar>
Teuchos::RCP< Rythmos::BasicDiscreteAdjointStepperTester<
Scalar > > 
basicDiscreteAdjointStepperTester ()
template<class Scalar>
Teuchos::RCP< Rythmos::BasicDiscreteAdjointStepperTester<
Scalar > > 
basicDiscreteAdjointStepperTester (const RCP< ParameterList > &paramList)
template<class Scalar>
RCP< CubicSplineInterpolator<
Scalar > > 
cubicSplineInterpolator ()
template<class Scalar>
void computeCubicSplineCoeff (const typename DataStore< Scalar >::DataStoreVector_t &data, const Ptr< CubicSplineCoeff< Scalar > > &coeffPtr)
template<class Scalar>
void validateCubicSplineCoeff (const CubicSplineCoeff< Scalar > &coeff)
template<class Scalar>
void evaluateCubicSpline (const CubicSplineCoeff< Scalar > &coeff, Teuchos::Ordinal j, const Scalar &t, const Ptr< Thyra::VectorBase< Scalar > > &S, const Ptr< Thyra::VectorBase< Scalar > > &Sp=Teuchos::null, const Ptr< Thyra::VectorBase< Scalar > > &Spp=Teuchos::null)
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<class Scalar>
RCP< ExplicitRKStepper< Scalar > > explicitRKStepper ()
template<class Scalar>
RCP< ExplicitRKStepper< Scalar > > explicitRKStepper (const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &model)
template<class Scalar>
RCP< ExplicitRKStepper< Scalar > > explicitRKStepper (const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &model, const RCP< const RKButcherTableauBase< Scalar > > &rkbt)
 RTOP_ROP_1_REDUCT_SCALAR (ROpLogNormInf, typename ScalarTraits< Scalar >::magnitudeType, RTOpPack::REDUCT_TYPE_MAX)
 Reduction operator for a logarithmic infinity norm.
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>
RCP< ExplicitTaylorPolynomialStepper<
Scalar > > 
explicitTaylorPolynomialStepper ()
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< ForwardEulerStepper<
Scalar > > 
forwardEulerStepper ()
template<class Scalar>
RCP< ForwardEulerStepper<
Scalar > > 
forwardEulerStepper (const RCP< Thyra::ModelEvaluator< Scalar > > &model)
template<class Scalar>
RCP< ForwardSensitivityExplicitModelEvaluator<
Scalar > > 
forwardSensitivityExplicitModelEvaluator ()
template<class Scalar>
RCP< ForwardSensitivityImplicitModelEvaluator<
Scalar > > 
forwardSensitivityImplicitModelEvaluator ()
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>
RCP< const Thyra::VectorBase<
Scalar > > 
create_s_bar_given_S (const ForwardSensitivityModelEvaluatorBase< Scalar > &fwdSensModel, const RCP< Thyra::MultiVectorBase< Scalar > > &S)
 Create a wrapped non-const s_bar vector object given a non-const S multi-vector object.
template<class Scalar>
RCP< const Thyra::VectorBase<
Scalar > > 
create_s_bar_given_S (const ForwardSensitivityModelEvaluatorBase< Scalar > &fwdSensModel, const RCP< const Thyra::MultiVectorBase< Scalar > > &S)
 Create a wrapped const s_bar vector object given a const S multi-vector object.
template<class Scalar>
Teuchos::RCP< Rythmos::ForwardSensitivityStepperTester<
Scalar > > 
forwardSensitivityStepperTester ()
template<class Scalar>
Teuchos::RCP< Rythmos::ForwardSensitivityStepperTester<
Scalar > > 
forwardSensitivityStepperTester (const RCP< ParameterList > &paramList)
template<class Scalar>
RCP< HermiteInterpolator<
Scalar > > 
hermiteInterpolator ()
template<class Scalar>
RCP< ImplicitBDFStepper< Scalar > > implicitBDFStepper ()
template<class Scalar>
RCP< ImplicitBDFStepper< Scalar > > implicitBDFStepper (const RCP< Thyra::ModelEvaluator< Scalar > > &model, const RCP< Thyra::NonlinearSolverBase< Scalar > > &solver, const RCP< Teuchos::ParameterList > &parameterList)
template<class Scalar>
RCP< ImplicitRKStepper< Scalar > > implicitRKStepper (const RCP< const Thyra::ModelEvaluator< Scalar > > &model, const RCP< Thyra::NonlinearSolverBase< Scalar > > &solver, const RCP< Thyra::LinearOpWithSolveFactoryBase< Scalar > > &irk_W_factory, const RCP< const RKButcherTableauBase< Scalar > > &irkbt)
template<class Scalar>
void get_fwd_x_and_x_dot (IntegratorBase< Scalar > &integrator, const Scalar t, RCP< const Thyra::VectorBase< Scalar > > *x, RCP< const Thyra::VectorBase< Scalar > > *x_dot)
 Depricated.
template<class Scalar>
Teuchos::RCP< Rythmos::IntegratorBuilder<
Scalar > > 
integratorBuilder ()
template<class Scalar>
Teuchos::RCP< Rythmos::IntegratorBuilder<
Scalar > > 
integratorBuilder (const RCP< ParameterList > &paramList)
template<class Scalar>
Teuchos::RCP< Rythmos::IntegratorBase<
Scalar > > 
createForwardSensitivityIntegrator (const RCP< const Thyra::ModelEvaluator< Scalar > > &model, const int &p_index, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &model_ic, const RCP< Thyra::NonlinearSolverBase< Scalar > > &nlSolver, const RCP< Teuchos::ParameterList > &integratorBuilderPL)
template<class Scalar>
void get_x_and_x_dot (const InterpolationBufferBase< Scalar > &interpBuffer, const Scalar t, RCP< const Thyra::VectorBase< Scalar > > *x, RCP< const Thyra::VectorBase< Scalar > > *x_dot)
 Deprecated.
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 (const Array< TimeType > &points_in, const TimeRange< TimeType > &range, const Ptr< Array< TimeType > > &points_out)
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 assertNodesUnChanged (const typename DataStore< Scalar >::DataStoreVector_t &nodes, const typename DataStore< Scalar >::DataStoreVector_t &nodes_copy)
template<class Scalar>
RCP< LinearInterpolator< Scalar > > linearInterpolator ()
template<class Scalar>
RCP< Thyra::VectorBase< Scalar > > eval_f_t (const Thyra::ModelEvaluator< Scalar > &me, Scalar t)
template<class Scalar>
Scalar translateTimeRange (Scalar t, const TimeRange< Scalar > &sourceRange, const TimeRange< Scalar > &destinationRange)
template<class Scalar>
RCP< Thyra::VectorBase< Scalar > > computeArea (const Thyra::ModelEvaluator< Scalar > &me, const TimeRange< Scalar > &tr, const GaussQuadrature1D< Scalar > &gq)
const std::string RKBT_ForwardEuler_name ()
const std::string RKBT_BackwardEuler_name ()
const std::string Explicit4Stage_name ()
const std::string Explicit3_8Rule_name ()
const std::string Explicit2Stage2ndOrderRunge_name ()
const std::string Explicit3Stage3rdOrderHeun_name ()
const std::string Explicit3Stage3rdOrder_name ()
const std::string Explicit4Stage3rdOrderRunge_name ()
const std::string Implicit1Stage2ndOrderGauss_name ()
const std::string Implicit2Stage4thOrderGauss_name ()
const std::string Implicit3Stage6thOrderGauss_name ()
const std::string Implicit1Stage1stOrderRadauA_name ()
const std::string Implicit2Stage3rdOrderRadauA_name ()
const std::string Implicit3Stage5thOrderRadauA_name ()
const std::string Implicit1Stage1stOrderRadauB_name ()
const std::string Implicit2Stage3rdOrderRadauB_name ()
const std::string Implicit3Stage5thOrderRadauB_name ()
const std::string Implicit2Stage2ndOrderLobattoA_name ()
const std::string Implicit3Stage4thOrderLobattoA_name ()
const std::string Implicit4Stage6thOrderLobattoA_name ()
const std::string Implicit2Stage2ndOrderLobattoB_name ()
const std::string Implicit3Stage4thOrderLobattoB_name ()
const std::string Implicit4Stage6thOrderLobattoB_name ()
const std::string Implicit2Stage2ndOrderLobattoC_name ()
const std::string Implicit3Stage4thOrderLobattoC_name ()
const std::string Implicit4Stage6thOrderLobattoC_name ()
const std::string Implicit2Stage4thOrderHammerHollingsworth_name ()
const std::string Implicit3Stage6thOrderKuntzmannButcher_name ()
const std::string Implicit4Stage8thOrderKuntzmannButcher_name ()
const std::string DIRK2Stage3rdOrder_name ()
const std::string SDIRK2Stage3rdOrder_name ()
const std::string SDIRK5Stage5thOrder_name ()
const std::string SDIRK5Stage4thOrder_name ()
const std::string SDIRK3Stage4thOrder_name ()
template<class Scalar>
RCP< RKButcherTableauBase<
Scalar > > 
rKButcherTableau ()
template<class Scalar>
RCP< RKButcherTableauBase<
Scalar > > 
rKButcherTableau (const Teuchos::SerialDenseMatrix< int, Scalar > &A_in, const Teuchos::SerialDenseVector< int, Scalar > &b_in, const Teuchos::SerialDenseVector< int, Scalar > &c_in, int order_in, const std::string &description_in="")
template<class Scalar>
RCP< RKButcherTableauBuilder<
Scalar > > 
rKButcherTableauBuilder ()
template<class Scalar>
RCP< RKButcherTableauBase<
Scalar > > 
createRKBT (const std::string &rkbt_name)
template<class Scalar>
void assembleIRKState (const int stageIndex, const Teuchos::SerialDenseMatrix< int, Scalar > &A_in, const Scalar dt, const Thyra::VectorBase< Scalar > &x_base, const Thyra::ProductVectorBase< Scalar > &x_stage_bar, Teuchos::Ptr< Thyra::VectorBase< Scalar > > x_out_ptr)
template<class Scalar>
void assembleIRKSolution (const Teuchos::SerialDenseVector< int, Scalar > &b_in, const Scalar dt, const Thyra::VectorBase< Scalar > &x_base, const Thyra::ProductVectorBase< Scalar > &x_stage_bar, Teuchos::Ptr< Thyra::VectorBase< Scalar > > x_out_ptr)
template<class Scalar>
void assembleERKState (const int stageIndex, const Teuchos::SerialDenseMatrix< int, Scalar > &A_in, const Scalar dt, const Thyra::VectorBase< Scalar > &x_base, const Thyra::VectorBase< Scalar > &x_stage_bar, Teuchos::Ptr< Thyra::VectorBase< Scalar > > x_out_ptr)
template<class Scalar>
void assembleERKSolution (const Teuchos::SerialDenseVector< int, Scalar > &b_in, const Scalar dt, const Thyra::VectorBase< Scalar > &x_base, const Thyra::VectorBase< Scalar > &x_stage_bar, Teuchos::Ptr< Thyra::VectorBase< Scalar > > x_out_ptr)
template<class Scalar>
bool isEmptyRKButcherTableau (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
void assertNonEmptyRKButcherTableau (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
bool isDIRKButcherTableau (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
bool isIRKButcherTableau (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
void validateIRKButcherTableau (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
void validateDIRKButcherTableau (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
bool isSDIRKButcherTableau (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
void validateSDIRKButcherTableau (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
bool isERKButcherTableau (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
void validateERKButcherTableau (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
E_RKButcherTableauTypes determineRKBTType (const RKButcherTableauBase< Scalar > &rkbt)
template<class Scalar>
RCP< SimpleIntegrationControlStrategy<
Scalar > > 
simpleIntegrationControlStrategy ()
template<class Scalar>
RCP< SimpleIntegrationControlStrategy<
Scalar > > 
simpleIntegrationControlStrategy (const RCP< ParameterList > &paramList)
template<class Scalar>
RCP< DefaultStackedStepperStepStrategy<
Scalar > > 
defaultStackedStepperStepStrategy ()
template<class Scalar>
RCP< ForwardSensitivityStackedStepperStepStrategy<
Scalar > > 
forwardSensitivityStackedStepperStepStrategy ()
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>
RCP< StepperBuilder< Scalar > > stepperBuilder ()
template<class Scalar>
RCP< StepperBase< Scalar > > createStepper (const std::string &stepperName)
template<class Scalar>
void assertValidModel (const StepperBase< Scalar > &stepper, const Thyra::ModelEvaluator< Scalar > &model)
 Assert valid transient model for StepperBase.
template<class Scalar>
bool setDefaultInitialConditionFromNominalValues (const Thyra::ModelEvaluator< Scalar > &model, const Ptr< StepperBase< Scalar > > &stepper)
 Set an initial condition on a stepper from a model if the stepper does not already have an initial condition.
template<class Scalar>
void restart (StepperBase< Scalar > *stepper)
 Restart a time stepper.
template<class Scalar>
void eval_model_explicit (const Thyra::ModelEvaluator< Scalar > &model, Thyra::ModelEvaluatorBase::InArgs< Scalar > &basePoint, const VectorBase< Scalar > &x_in, const typename Thyra::ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &t_in, const Ptr< VectorBase< Scalar > > &f_out)
template<class Scalar>
void defaultGetPoints (const Scalar &t_old, const Ptr< const VectorBase< Scalar > > &x_old, const Ptr< const VectorBase< Scalar > > &xdot_old, const Scalar &t, const Ptr< const VectorBase< Scalar > > &x, const Ptr< const VectorBase< Scalar > > &xdot, const Array< Scalar > &time_vec, const Ptr< Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > > &x_vec, const Ptr< Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > > &xdot_vec, const Ptr< Array< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > > &accuracy_vec, const Ptr< InterpolatorBase< Scalar > > interpolator)
template<class Scalar>
void setStepperModel (const Ptr< StepperBase< Scalar > > &stepper, const RCP< const Thyra::ModelEvaluator< Scalar > > &model)
template<class Scalar>
void setStepperModel (const Ptr< StepperBase< Scalar > > &stepper, const RCP< Thyra::ModelEvaluator< Scalar > > &model)
template<class Scalar>
void setStepperModel (const Ptr< StepperBase< Scalar > > &stepper, ConstNonconstObjectContainer< Thyra::ModelEvaluator< Scalar > > &model)
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 Scalar>
RCP< StepperValidator< Scalar > > stepperValidator ()
template<class Scalar>
RCP< StepperValidatorMockModel<
Scalar > > 
stepperValidatorMockModel ()
template<class Scalar>
RCP< StepperValidatorMockModel<
Scalar > > 
stepperValidatorMockModel (bool isImplicit)
template<class TimeType>
int compareTimeValues (const TimeType &t1, const TimeType &t2)
 Compare two times taking into account floating point errors.
template<class TimeType>
void asssertInTimeRange (const TimeRange< TimeType > &timeRange, const TimeType &time)
 Assert point is in the time range and if it is not, throw an exception with a very good error message.
template<class TimeType>
int compareTimeValues (const TimeType &t1, const TimeType &t2)
 Compare two times taking into account floating point errors.
template<class TimeType>
Rythmos::TimeRange< TimeType > timeRange (const TimeType lower, const TimeType upper)
template<class TimeType>
Rythmos::TimeRange< TimeType > invalidTimeRange ()
template<class TimeType>
std::ostream & operator<< (std::ostream &out, const TimeRange< TimeType > &range)
template<class TimeType>
void asssertInTimeRange (const TimeRange< TimeType > &timeRange, const TimeType &time)
 Assert point is in the time range and if it is not, throw an exception with a very good error message.
template<class TimeType>
bool isInRange_cc (const TimeRange< TimeType > &tr, const TimeType &p)
template<class TimeType>
bool isInRange_oc (const TimeRange< TimeType > &tr, const TimeType &p)
template<class TimeType>
bool isInRange_co (const TimeRange< TimeType > &tr, const TimeType &p)
template<class TimeType>
bool isInRange_oo (const TimeRange< TimeType > &tr, const TimeType &p)
template<class Scalar>
Teuchos::RCP< Rythmos::TimeStepNonlinearSolver<
Scalar > > 
timeStepNonlinearSolver ()
template<class Scalar>
Teuchos::RCP< Rythmos::TimeStepNonlinearSolver<
Scalar > > 
timeStepNonlinearSolver (const RCP< ParameterList > &pl)
std::string version ()

Variables

const std::string RythmosStepControlSettings_name = "Step Control Settings"


Enumeration Type Documentation

enum Rythmos::BDFactionFlag

Definition at line 37 of file Rythmos_ImplicitBDFStepperStepControl_decl.hpp.

enum Rythmos::AttemptedStepStatusFlag

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::StepControlStrategyState

Definition at line 49 of file Rythmos_StepControlStrategyBase.hpp.

enum Rythmos::StepSizeType

Step type.

Definition at line 40 of file Rythmos_StepperSupportTypes.hpp.

enum Rythmos::EStepStatus

Enumerator:
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.

enum Rythmos::EStepLETStatus

Enumerator:
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.

enum Rythmos::EBreakPointType

Definition at line 110 of file Rythmos_StepperSupportTypes.hpp.


Function Documentation

Rythmos::RTOP_ROP_1_REDUCT_SCALAR ( ROpLogNormInf  ,
typename ScalarTraits< Scalar >::magnitudeType  ,
RTOpPack::REDUCT_TYPE_MAX   
)

Reduction operator for a logarithmic infinity norm.

This class implements a reduction operator for computing the logarithmic infinity norm of a vector:

\[ \|1 + log(x)\|_\infty. \]

Definition at line 53 of file Rythmos_ExplicitTaylorPolynomialStepper.hpp.

template<typename Scalar>
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 342 of file Rythmos_ExplicitTaylorPolynomialStepper.hpp.

template<class Scalar>
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.

template<class Scalar>
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.

template<class Scalar>
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 333 of file Rythmos_ForwardSensitivityIntegratorAsModelEvaluator.hpp.

template<class Scalar>
RCP<const Thyra::VectorBase<Scalar> > Rythmos::create_s_bar_given_S ( const ForwardSensitivityModelEvaluatorBase< Scalar > &  fwdSensModel,
const RCP< Thyra::MultiVectorBase< Scalar > > &  S 
)

Create a wrapped non-const s_bar vector object given a non-const S multi-vector object.

Definition at line 136 of file Rythmos_ForwardSensitivityModelEvaluatorBase.hpp.

template<class Scalar>
RCP<const Thyra::VectorBase<Scalar> > Rythmos::create_s_bar_given_S ( const ForwardSensitivityModelEvaluatorBase< Scalar > &  fwdSensModel,
const RCP< const Thyra::MultiVectorBase< Scalar > > &  S 
)

Create a wrapped const s_bar vector object given a const S multi-vector object.

Definition at line 149 of file Rythmos_ForwardSensitivityModelEvaluatorBase.hpp.

template<class Scalar>
void Rythmos::get_fwd_x_and_x_dot ( IntegratorBase< Scalar > &  integrator,
const Scalar  t,
RCP< const Thyra::VectorBase< Scalar > > *  x,
RCP< const Thyra::VectorBase< Scalar > > *  x_dot 
)

Depricated.

Definition at line 266 of file Rythmos_IntegratorBase.hpp.

template<class Scalar>
void Rythmos::get_x_and_x_dot ( const InterpolationBufferBase< Scalar > &  interpBuffer,
const Scalar  t,
RCP< const Thyra::VectorBase< Scalar > > *  x,
RCP< const Thyra::VectorBase< Scalar > > *  x_dot 
)

Deprecated.

Definition at line 322 of file Rythmos_InterpolationBufferBase.hpp.

template<class Scalar>
std::ostream& Rythmos::operator<< ( std::ostream &  out,
const StepControlInfo< Scalar > &  stepCtrlInfo 
)

Definition at line 34 of file Rythmos_StepControlInfo.hpp.

template<class Scalar>
RCP<StepperAsModelEvaluator<Scalar> > Rythmos::stepperAsModelEvaluator ( const RCP< StepperBase< Scalar > > &  stepper,
const RCP< IntegratorBase< Scalar > > &  integrator,
const Thyra::ModelEvaluatorBase::InArgs< Scalar > &  initialCondition 
)

Nonmember constructor.

Definition at line 135 of file Rythmos_StepperAsModelEvaluator.hpp.

template<class Scalar>
void Rythmos::assertValidModel ( const StepperBase< Scalar > &  stepper,
const Thyra::ModelEvaluator< Scalar > &  model 
)

Assert valid transient model for StepperBase.

Definition at line 45 of file Rythmos_StepperHelpers_def.hpp.

template<class Scalar>
bool Rythmos::setDefaultInitialConditionFromNominalValues ( const Thyra::ModelEvaluator< Scalar > &  model,
const Ptr< StepperBase< Scalar > > &  stepper 
)

Set an initial condition on a stepper from a model if the stepper does not already have an initial condition.

Returns:
Returns true if the stepper->setInitialCondition(...) was called and returns false otherwise.

Definition at line 79 of file Rythmos_StepperHelpers_def.hpp.

template<class Scalar>
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 126 of file Rythmos_StepperHelpers_def.hpp.

const char* Rythmos::toString ( const StepSizeType  stepSizeType  )  [inline]

Convert StepSizeType to string.

Definition at line 45 of file Rythmos_StepperSupportTypes.hpp.

const char* Rythmos::toString ( const EStepStatus  stepStatus  )  [inline]

Definition at line 71 of file Rythmos_StepperSupportTypes.hpp.

const char* Rythmos::toString ( const EStepLETStatus  stepLETStatus  )  [inline]

Definition at line 95 of file Rythmos_StepperSupportTypes.hpp.

const char* Rythmos::toString ( const EBreakPointType  breakPointType  )  [inline]

Definition at line 118 of file Rythmos_StepperSupportTypes.hpp.

template<class Scalar>
std::ostream& Rythmos::operator<< ( std::ostream &  out_arg,
const StepStatus< Scalar > &  stepStatus 
)

Definition at line 170 of file Rythmos_StepperSupportTypes.hpp.

template<class TimeType>
int Rythmos::compareTimeValues ( const TimeType &  t1,
const TimeType &  t2 
)

Compare two times taking into account floating point errors.

Returns:
Return -1 if v1 < v2 , 0 if v1 == v2 and +1 if v1 > v2 .
Note that this function compares t1 to t2 and not the other way around.

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 38 of file Rythmos_TimeRange_def.hpp.

template<class TimeType>
void Rythmos::asssertInTimeRange ( const TimeRange< TimeType > &  timeRange,
const TimeType &  time 
)

Assert point is in the time range and if it is not, throw an exception with a very good error message.

Definition at line 86 of file Rythmos_TimeRange_def.hpp.

template<class TimeType>
int Rythmos::compareTimeValues ( const TimeType &  t1,
const TimeType &  t2 
)

Compare two times taking into account floating point errors.

Returns:
Return -1 if v1 < v2 , 0 if v1 == v2 and +1 if v1 > v2 .
Note that this function compares t1 to t2 and not the other way around.

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 38 of file Rythmos_TimeRange_def.hpp.

template<class TimeType>
void Rythmos::asssertInTimeRange ( const TimeRange< TimeType > &  timeRange,
const TimeType &  time 
)

Assert point is in the time range and if it is not, throw an exception with a very good error message.

Definition at line 86 of file Rythmos_TimeRange_def.hpp.


Generated on Tue Jul 13 09:23:54 2010 for Rythmos - Transient Integration for Differential Equations by  doxygen 1.4.7