Advanced Multi-Physics (AMP)
On-Line Documentation
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
AMP::TimeIntegrator::RK23TimeIntegrator Class Referenceabstract

#include <RK23TimeIntegrator.h>

Inheritance diagram for AMP::TimeIntegrator::RK23TimeIntegrator:
Inheritance graph
[legend]

Public Types

typedef std::shared_ptr< AMP::TimeIntegrator::TimeIntegratorshared_ptr
 Convience typedef.
 

Public Member Functions

int advanceSolution (const double dt, const bool first_step, std::shared_ptr< AMP::LinearAlgebra::Vector > in, std::shared_ptr< AMP::LinearAlgebra::Vector > out) override
 Integrate through the specified time increment.
 
virtual void appendRhsVector (AMP::LinearAlgebra::Vector::shared_ptr vec)
 Append the vectors of interest to the rhs vector.
 
virtual void appendSolutionVector (AMP::LinearAlgebra::Vector::shared_ptr vec)
 Append the vectors of interest to the solution vector.
 
bool checkNewSolution (void) override
 
virtual double getCurrentDt () const
 Return current timestep.
 
virtual double getCurrentTime () const
 Return final integration time.
 
virtual double getFinalTime () const
 Return final integration time.
 
virtual double getGamma (void)
 
uint64_t getID () const
 Get a unique id hash for the vector.
 
virtual double getInitialDt ()
 
virtual double getInitialTime () const
 Return initial integration time.
 
virtual int getIntegratorStep () const
 Return current integration step number.
 
virtual int getMaxIntegratorSteps () const
 Return maximum number of integration steps.
 
double getNextDt (const bool good_solution) override
 
std::shared_ptr< AMP::Operator::OperatorgetOperator (void)
 
virtual std::shared_ptr< AMP::LinearAlgebra::VectorgetSolution (void)
 
virtual AMP::LinearAlgebra::Vector::shared_ptr getSourceTerm (void)
 
virtual std::vector< doublegetTimeHistoryScalings (void)
 Scaling factors for previous time history vectors.
 
virtual int getTotalRejectedSteps () const
 
void initialize (std::shared_ptr< AMP::TimeIntegrator::TimeIntegratorParameters > parameters) override
 
virtual void initialize (std::shared_ptr< TimeIntegratorParameters > parameters)
 Initialize state of time integrator.
 
void printClassData (std::ostream &os) const
 
virtual void printStatistics (std::ostream &os=AMP::pout)
 
void putToDatabase (std::shared_ptr< AMP::Database > db)
 
void registerChildObjects (AMP::IO::RestartManager *manager) const override
 Register any child objects.
 
virtual void registerOperator (std::shared_ptr< AMP::Operator::Operator > op)
 
virtual void registerWriter (std::shared_ptr< AMP::IO::Writer > writer)
 Registers a writer with the solver.
 
void reset (std::shared_ptr< const AMP::TimeIntegrator::TimeIntegratorParameters > parameters) override
 
virtual void reset (std::shared_ptr< const TimeIntegratorParameters > parameters)=0
 Resets the internal state of the time integrator.
 
 RK23TimeIntegrator (int64_t fid, AMP::IO::RestartManager *manager)
 Read restart data to file.
 
 RK23TimeIntegrator (std::shared_ptr< AMP::TimeIntegrator::TimeIntegratorParameters > parameters)
 
virtual void setCurrentDt (const double dt)
 
virtual void setCurrentTime (const double t)
 
virtual void setFinalTime (const double t)
 
virtual void setInitialDt (const double dt)
 
virtual void setInitialTime (const double t)
 
virtual void setSourceTerm (AMP::LinearAlgebra::Vector::shared_ptr src)
 
virtual size_t sizeOfTimeHistory () const
 
virtual bool stepsRemaining () const
 Have the number of integration steps reached the maximum.
 
std::string type () const override
 Return the name of the TimeIntegrator.
 
void updateSolution (void) override
 
void writeRestart (int64_t fid) const override
 Write restart data to file.
 
 ~RK23TimeIntegrator ()
 

Static Public Member Functions

static std::unique_ptr< AMP::TimeIntegrator::TimeIntegratorcreateTimeIntegrator (std::shared_ptr< AMP::TimeIntegrator::TimeIntegratorParameters > parameters)
 

Protected Member Functions

void getFromRestart ()
 

Protected Attributes

double d_current_dt = std::numeric_limits<double>::signaling_NaN()
 
double d_current_time = std::numeric_limits<double>::signaling_NaN()
 
double d_final_time = std::numeric_limits<double>::signaling_NaN()
 
std::shared_ptr< AMP::LinearAlgebra::Vectord_ic_vector = nullptr
 
int d_iDebugPrintInfoLevel = 0
 
double d_initial_dt = std::numeric_limits<double>::signaling_NaN()
 initial time increment
 
double d_initial_time = std::numeric_limits<double>::signaling_NaN()
 
bool d_initialized = false
 
int d_integrator_step = 0
 
double d_max_dt = std::numeric_limits<double>::max()
 maximum allowable timestep (user defined)
 
int d_max_integrator_steps = 0
 
double d_min_dt = std::numeric_limits<double>::signaling_NaN()
 
std::string d_object_name
 
double d_old_dt = std::numeric_limits<double>::signaling_NaN()
 
std::shared_ptr< AMP::Operator::Operatord_operator
 
std::shared_ptr< AMP::Operator::Operatord_pMassOperator
 
std::shared_ptr< TimeIntegratorParametersd_pParameters
 
std::shared_ptr< AMP::LinearAlgebra::Vectord_pSourceTerm
 
std::shared_ptr< AMP::LinearAlgebra::Vectord_solution_vector
 
int d_total_steprejects = 0
 
std::shared_ptr< AMP::IO::Writerd_writer
 keeps track of total number of step rejections
 

Private Member Functions

void getFromInput (std::shared_ptr< AMP::Database > input_db)
 
 RK23TimeIntegrator ()
 
void setupVectors (void)
 

Private Attributes

double d_atol = 0.0
 
std::shared_ptr< AMP::LinearAlgebra::Vectord_k1_vec
 
std::shared_ptr< AMP::LinearAlgebra::Vectord_k2_vec
 
std::shared_ptr< AMP::LinearAlgebra::Vectord_k3_vec
 
std::shared_ptr< AMP::LinearAlgebra::Vectord_k4_vec
 
std::shared_ptr< AMP::LinearAlgebra::Vectord_new_solution
 
int d_number_regrid_states = 0
 
double d_safety_factor = 0.0
 
bool d_use_fixed_dt = false
 
std::shared_ptr< AMP::LinearAlgebra::Vectord_z_vec
 

Detailed Description

Class RK23TimeIntegrator is a concrete time integrator that implements the explicit Bogacki-Shampine adaptive Runge-Kutta (Matlab ode23) method.

Definition at line 26 of file RK23TimeIntegrator.h.

Member Typedef Documentation

◆ shared_ptr

Convience typedef.

Definition at line 37 of file TimeIntegrator.h.

Constructor & Destructor Documentation

◆ RK23TimeIntegrator() [1/3]

AMP::TimeIntegrator::RK23TimeIntegrator::RK23TimeIntegrator ( std::shared_ptr< AMP::TimeIntegrator::TimeIntegratorParameters parameters)
explicit

Constructor that accepts parameter list.

◆ ~RK23TimeIntegrator()

AMP::TimeIntegrator::RK23TimeIntegrator::~RK23TimeIntegrator ( )

Destructor.

◆ RK23TimeIntegrator() [2/3]

AMP::TimeIntegrator::RK23TimeIntegrator::RK23TimeIntegrator ( int64_t  fid,
AMP::IO::RestartManager manager 
)

Read restart data to file.

This function will create a variable from the restart file

Parameters
fidFile identifier to write
managerRestart manager

◆ RK23TimeIntegrator() [3/3]

AMP::TimeIntegrator::RK23TimeIntegrator::RK23TimeIntegrator ( )
private

Constructor.

Referenced by createTimeIntegrator().

Member Function Documentation

◆ advanceSolution()

int AMP::TimeIntegrator::RK23TimeIntegrator::advanceSolution ( const double  dt,
const bool  first_step,
std::shared_ptr< AMP::LinearAlgebra::Vector in,
std::shared_ptr< AMP::LinearAlgebra::Vector out 
)
overridevirtual

Integrate through the specified time increment.

Integrate through the specified time increment.

The boolean first_step argument is true when this is the very first call to the advance function. Otherwise it is false. Note that, when the argument is true, the use of extrapolation to construct the initial guess for the advanced solution may not be possible.

This function may, or may not, copy the new solution into the solution vector at the previous time step (updateSolution). If it is copied, this can reduce the memory requirements, but restricts the implementation to those functions that will not be called multiple times within a time step. If it is not copied, the update solution function must be called after each time step. The concrete implementation needs to make this clear.

Parameters
dtTime step size
first_stepWhether this is the first step
inInput vector
outOutput vector
Returns
value is the return code generated by the particular solver package in use

Implements AMP::TimeIntegrator::TimeIntegrator.

◆ appendRhsVector()

virtual void AMP::TimeIntegrator::TimeIntegrator::appendRhsVector ( AMP::LinearAlgebra::Vector::shared_ptr  vec)
inlinevirtualinherited

Append the vectors of interest to the rhs vector.

This function will append the necessary vectors that this solver owns to the global vector provided. Note that each solver may own any number of vectors, but no vector may be owned by multiple solvers.

Parameters
vecThe vector to append

Definition at line 219 of file TimeIntegrator.h.

◆ appendSolutionVector()

virtual void AMP::TimeIntegrator::TimeIntegrator::appendSolutionVector ( AMP::LinearAlgebra::Vector::shared_ptr  vec)
inlinevirtualinherited

Append the vectors of interest to the solution vector.

This function will append the necessary vectors that this solver owns to the global vector provided. Note that each solver may own any number of vectors, but no vector may be owned by multiple solvers.

Parameters
vecThe vector to append

Definition at line 208 of file TimeIntegrator.h.

◆ checkNewSolution()

bool AMP::TimeIntegrator::RK23TimeIntegrator::checkNewSolution ( void  )
overridevirtual

Determine whether time advanced solution is satisfactory.

Implements AMP::TimeIntegrator::TimeIntegrator.

◆ createTimeIntegrator()

static std::unique_ptr< AMP::TimeIntegrator::TimeIntegrator > AMP::TimeIntegrator::RK23TimeIntegrator::createTimeIntegrator ( std::shared_ptr< AMP::TimeIntegrator::TimeIntegratorParameters parameters)
inlinestatic

Definition at line 40 of file RK23TimeIntegrator.h.

References RK23TimeIntegrator().

◆ getCurrentDt()

virtual double AMP::TimeIntegrator::TimeIntegrator::getCurrentDt ( ) const
virtualinherited

Return current timestep.

Return current timestep.

◆ getCurrentTime()

virtual double AMP::TimeIntegrator::TimeIntegrator::getCurrentTime ( ) const
virtualinherited

Return final integration time.

Return current integration time.

◆ getFinalTime()

virtual double AMP::TimeIntegrator::TimeIntegrator::getFinalTime ( ) const
virtualinherited

Return final integration time.

Return final integration time.

◆ getFromInput()

void AMP::TimeIntegrator::RK23TimeIntegrator::getFromInput ( std::shared_ptr< AMP::Database input_db)
private

Read data from input database.

◆ getFromRestart()

void AMP::TimeIntegrator::TimeIntegrator::getFromRestart ( )
protectedinherited

◆ getGamma()

virtual double AMP::TimeIntegrator::TimeIntegrator::getGamma ( void  )
inlinevirtualinherited

◆ getID()

uint64_t AMP::TimeIntegrator::TimeIntegrator::getID ( ) const
inherited

Get a unique id hash for the vector.

◆ getInitialDt()

virtual double AMP::TimeIntegrator::TimeIntegrator::getInitialDt ( )
inlinevirtualinherited

get initial time step.

Definition at line 179 of file TimeIntegrator.h.

References AMP::TimeIntegrator::TimeIntegrator::d_initial_dt.

◆ getInitialTime()

virtual double AMP::TimeIntegrator::TimeIntegrator::getInitialTime ( ) const
virtualinherited

Return initial integration time.

Return initial integration time.

◆ getIntegratorStep()

virtual int AMP::TimeIntegrator::TimeIntegrator::getIntegratorStep ( ) const
virtualinherited

Return current integration step number.

Return current integration step number.

◆ getMaxIntegratorSteps()

virtual int AMP::TimeIntegrator::TimeIntegrator::getMaxIntegratorSteps ( ) const
virtualinherited

Return maximum number of integration steps.

Return maximum number of integration steps.

◆ getNextDt()

double AMP::TimeIntegrator::RK23TimeIntegrator::getNextDt ( const bool  good_solution)
overridevirtual

Specify next time step to use.

Reimplemented from AMP::TimeIntegrator::TimeIntegrator.

◆ getOperator()

std::shared_ptr< AMP::Operator::Operator > AMP::TimeIntegrator::TimeIntegrator::getOperator ( void  )
inlineinherited

Definition at line 246 of file TimeIntegrator.h.

References AMP::TimeIntegrator::TimeIntegrator::d_operator.

◆ getSolution()

virtual std::shared_ptr< AMP::LinearAlgebra::Vector > AMP::TimeIntegrator::TimeIntegrator::getSolution ( void  )
inlinevirtualinherited

Retrieve the current solution.

Definition at line 137 of file TimeIntegrator.h.

References AMP::TimeIntegrator::TimeIntegrator::d_solution_vector.

◆ getSourceTerm()

virtual AMP::LinearAlgebra::Vector::shared_ptr AMP::TimeIntegrator::TimeIntegrator::getSourceTerm ( void  )
inlinevirtualinherited

◆ getTimeHistoryScalings()

virtual std::vector< double > AMP::TimeIntegrator::TimeIntegrator::getTimeHistoryScalings ( void  )
inlinevirtualinherited

Scaling factors for previous time history vectors.

For RK methods the previous time vector is always scaled by 1. For multistep methods this vector can consist of multiple scalings with the first entry being the scaling for $y^{n-1}$, the next being for $y^{n-2}$ etc

Reimplemented in AMP::TimeIntegrator::BDFIntegrator.

Definition at line 276 of file TimeIntegrator.h.

◆ getTotalRejectedSteps()

virtual int AMP::TimeIntegrator::TimeIntegrator::getTotalRejectedSteps ( ) const
inlinevirtualinherited

◆ initialize() [1/2]

void AMP::TimeIntegrator::RK23TimeIntegrator::initialize ( std::shared_ptr< AMP::TimeIntegrator::TimeIntegratorParameters parameters)
override

Initialize from parameter list.

◆ initialize() [2/2]

virtual void AMP::TimeIntegrator::TimeIntegrator::initialize ( std::shared_ptr< TimeIntegratorParameters parameters)
virtualinherited

Initialize state of time integrator.

Initialize state of time integrator. This includes creating solution vector and initializing solver components.

Reimplemented in AMP::TimeIntegrator::ImplicitIntegrator, AMP::TimeIntegrator::OxideTimeIntegrator, and AMP::TimeIntegrator::IDATimeIntegrator.

◆ printClassData()

void AMP::TimeIntegrator::TimeIntegrator::printClassData ( std::ostream &  os) const
inherited

Print out all members of integrator instance to given output stream.

◆ printStatistics()

virtual void AMP::TimeIntegrator::TimeIntegrator::printStatistics ( std::ostream &  os = AMP::pout)
virtualinherited

◆ putToDatabase()

void AMP::TimeIntegrator::TimeIntegrator::putToDatabase ( std::shared_ptr< AMP::Database db)
inherited

Write out state of object to given database.

When assertion checking is active, the database pointer must be non-null.

◆ registerChildObjects()

void AMP::TimeIntegrator::RK23TimeIntegrator::registerChildObjects ( AMP::IO::RestartManager manager) const
overridevirtual

Register any child objects.

This function will register child objects with the manager

Parameters
managerRestart manager

Reimplemented from AMP::TimeIntegrator::TimeIntegrator.

◆ registerOperator()

virtual void AMP::TimeIntegrator::TimeIntegrator::registerOperator ( std::shared_ptr< AMP::Operator::Operator op)
inlinevirtualinherited

◆ registerWriter()

virtual void AMP::TimeIntegrator::TimeIntegrator::registerWriter ( std::shared_ptr< AMP::IO::Writer writer)
inlinevirtualinherited

Registers a writer with the solver.

This function will register a writer with the solver. The solver may then register any vector components it "owns" with the writer.

Parameters
writerThe writer to register

Definition at line 227 of file TimeIntegrator.h.

References AMP::TimeIntegrator::TimeIntegrator::d_writer.

◆ reset() [1/2]

void AMP::TimeIntegrator::RK23TimeIntegrator::reset ( std::shared_ptr< const AMP::TimeIntegrator::TimeIntegratorParameters parameters)
override

Resets the internal state of the time integrator as needed. A parameter argument is passed to allow for general flexibility in determining what needs to be reset Typically used after a regrid.

◆ reset() [2/2]

virtual void AMP::TimeIntegrator::TimeIntegrator::reset ( std::shared_ptr< const TimeIntegratorParameters parameters)
pure virtualinherited

Resets the internal state of the time integrator.

Resets the internal state of the time integrator as needed. A parameter argument is passed to allow for general flexibility in determining what needs to be reset.

Implemented in AMP::TimeIntegrator::OxideTimeIntegrator, and AMP::TimeIntegrator::IDATimeIntegrator.

◆ setCurrentDt()

virtual void AMP::TimeIntegrator::TimeIntegrator::setCurrentDt ( const double  dt)
inlinevirtualinherited

◆ setCurrentTime()

virtual void AMP::TimeIntegrator::TimeIntegrator::setCurrentTime ( const double  t)
inlinevirtualinherited

◆ setFinalTime()

virtual void AMP::TimeIntegrator::TimeIntegrator::setFinalTime ( const double  t)
inlinevirtualinherited

◆ setInitialDt()

virtual void AMP::TimeIntegrator::TimeIntegrator::setInitialDt ( const double  dt)
inlinevirtualinherited

◆ setInitialTime()

virtual void AMP::TimeIntegrator::TimeIntegrator::setInitialTime ( const double  t)
inlinevirtualinherited

◆ setSourceTerm()

virtual void AMP::TimeIntegrator::TimeIntegrator::setSourceTerm ( AMP::LinearAlgebra::Vector::shared_ptr  src)
inlinevirtualinherited

◆ setupVectors()

void AMP::TimeIntegrator::RK23TimeIntegrator::setupVectors ( void  )
private

setup the vectors used by RK23

◆ sizeOfTimeHistory()

virtual size_t AMP::TimeIntegrator::TimeIntegrator::sizeOfTimeHistory ( ) const
inlinevirtualinherited

Reimplemented in AMP::TimeIntegrator::BDFIntegrator.

Definition at line 284 of file TimeIntegrator.h.

◆ stepsRemaining()

virtual bool AMP::TimeIntegrator::TimeIntegrator::stepsRemaining ( ) const
virtualinherited

Have the number of integration steps reached the maximum.

Return true if the number of integration steps performed by the integrator has not reached the specified maximum; return false otherwise.

Reimplemented in AMP::TimeIntegrator::ImplicitIntegrator.

◆ type()

std::string AMP::TimeIntegrator::RK23TimeIntegrator::type ( ) const
inlineoverridevirtual

Return the name of the TimeIntegrator.

Reimplemented from AMP::TimeIntegrator::TimeIntegrator.

Definition at line 81 of file RK23TimeIntegrator.h.

◆ updateSolution()

void AMP::TimeIntegrator::RK23TimeIntegrator::updateSolution ( void  )
overridevirtual

Update state of the solution.

Implements AMP::TimeIntegrator::TimeIntegrator.

◆ writeRestart()

void AMP::TimeIntegrator::RK23TimeIntegrator::writeRestart ( int64_t  fid) const
overridevirtual

Write restart data to file.

This function will write the mesh to an HDF5 file

Parameters
fidFile identifier to write

Reimplemented from AMP::TimeIntegrator::TimeIntegrator.

Member Data Documentation

◆ d_atol

double AMP::TimeIntegrator::RK23TimeIntegrator::d_atol = 0.0
private

Definition at line 125 of file RK23TimeIntegrator.h.

◆ d_current_dt

double AMP::TimeIntegrator::TimeIntegrator::d_current_dt = std::numeric_limits<double>::signaling_NaN()
protectedinherited

◆ d_current_time

double AMP::TimeIntegrator::TimeIntegrator::d_current_time = std::numeric_limits<double>::signaling_NaN()
protectedinherited

◆ d_final_time

double AMP::TimeIntegrator::TimeIntegrator::d_final_time = std::numeric_limits<double>::signaling_NaN()
protectedinherited

Definition at line 345 of file TimeIntegrator.h.

Referenced by AMP::TimeIntegrator::TimeIntegrator::setFinalTime().

◆ d_ic_vector

std::shared_ptr<AMP::LinearAlgebra::Vector> AMP::TimeIntegrator::TimeIntegrator::d_ic_vector = nullptr
protectedinherited

Definition at line 315 of file TimeIntegrator.h.

◆ d_iDebugPrintInfoLevel

int AMP::TimeIntegrator::TimeIntegrator::d_iDebugPrintInfoLevel = 0
protectedinherited

Definition at line 357 of file TimeIntegrator.h.

◆ d_initial_dt

double AMP::TimeIntegrator::TimeIntegrator::d_initial_dt = std::numeric_limits<double>::signaling_NaN()
protectedinherited

◆ d_initial_time

double AMP::TimeIntegrator::TimeIntegrator::d_initial_time = std::numeric_limits<double>::signaling_NaN()
protectedinherited

◆ d_initialized

bool AMP::TimeIntegrator::TimeIntegrator::d_initialized = false
protectedinherited

Set to true after initialization in constructors. Needed in getFromInput to avoid reseting some parameters in subsequent reset operations.

Definition at line 370 of file TimeIntegrator.h.

◆ d_integrator_step

int AMP::TimeIntegrator::TimeIntegrator::d_integrator_step = 0
protectedinherited

◆ d_k1_vec

std::shared_ptr<AMP::LinearAlgebra::Vector> AMP::TimeIntegrator::RK23TimeIntegrator::d_k1_vec
private

Definition at line 130 of file RK23TimeIntegrator.h.

◆ d_k2_vec

std::shared_ptr<AMP::LinearAlgebra::Vector> AMP::TimeIntegrator::RK23TimeIntegrator::d_k2_vec
private

Definition at line 131 of file RK23TimeIntegrator.h.

◆ d_k3_vec

std::shared_ptr<AMP::LinearAlgebra::Vector> AMP::TimeIntegrator::RK23TimeIntegrator::d_k3_vec
private

Definition at line 132 of file RK23TimeIntegrator.h.

◆ d_k4_vec

std::shared_ptr<AMP::LinearAlgebra::Vector> AMP::TimeIntegrator::RK23TimeIntegrator::d_k4_vec
private

Definition at line 133 of file RK23TimeIntegrator.h.

◆ d_max_dt

double AMP::TimeIntegrator::TimeIntegrator::d_max_dt = std::numeric_limits<double>::max()
protectedinherited

maximum allowable timestep (user defined)

Definition at line 355 of file TimeIntegrator.h.

◆ d_max_integrator_steps

int AMP::TimeIntegrator::TimeIntegrator::d_max_integrator_steps = 0
protectedinherited

◆ d_min_dt

double AMP::TimeIntegrator::TimeIntegrator::d_min_dt = std::numeric_limits<double>::signaling_NaN()
protectedinherited

Definition at line 352 of file TimeIntegrator.h.

◆ d_new_solution

std::shared_ptr<AMP::LinearAlgebra::Vector> AMP::TimeIntegrator::RK23TimeIntegrator::d_new_solution
private

Definition at line 129 of file RK23TimeIntegrator.h.

◆ d_number_regrid_states

int AMP::TimeIntegrator::RK23TimeIntegrator::d_number_regrid_states = 0
private

Definition at line 122 of file RK23TimeIntegrator.h.

◆ d_object_name

std::string AMP::TimeIntegrator::TimeIntegrator::d_object_name
protectedinherited

◆ d_old_dt

double AMP::TimeIntegrator::TimeIntegrator::d_old_dt = std::numeric_limits<double>::signaling_NaN()
protectedinherited

Definition at line 351 of file TimeIntegrator.h.

◆ d_operator

std::shared_ptr<AMP::Operator::Operator> AMP::TimeIntegrator::TimeIntegrator::d_operator
protectedinherited

The operator is the right hand side operator for an explicit integrator when the time integration problem is : u_t = f(u) but in the case of implicit time integrators the operator represents u_t-f(u)

Definition at line 328 of file TimeIntegrator.h.

Referenced by AMP::TimeIntegrator::TimeIntegrator::getOperator(), and AMP::TimeIntegrator::TimeIntegrator::registerOperator().

◆ d_pMassOperator

std::shared_ptr<AMP::Operator::Operator> AMP::TimeIntegrator::TimeIntegrator::d_pMassOperator
protectedinherited

The operator is the left hand side mass operator (for FEM formulations)

Definition at line 333 of file TimeIntegrator.h.

◆ d_pParameters

std::shared_ptr<TimeIntegratorParameters> AMP::TimeIntegrator::TimeIntegrator::d_pParameters
protectedinherited

pointer to parameters

Definition at line 310 of file TimeIntegrator.h.

◆ d_pSourceTerm

std::shared_ptr<AMP::LinearAlgebra::Vector> AMP::TimeIntegrator::TimeIntegrator::d_pSourceTerm
protectedinherited

◆ d_safety_factor

double AMP::TimeIntegrator::RK23TimeIntegrator::d_safety_factor = 0.0
private

Definition at line 124 of file RK23TimeIntegrator.h.

◆ d_solution_vector

std::shared_ptr<AMP::LinearAlgebra::Vector> AMP::TimeIntegrator::TimeIntegrator::d_solution_vector
protectedinherited

Definition at line 320 of file TimeIntegrator.h.

Referenced by AMP::TimeIntegrator::TimeIntegrator::getSolution().

◆ d_total_steprejects

int AMP::TimeIntegrator::TimeIntegrator::d_total_steprejects = 0
protectedinherited

◆ d_use_fixed_dt

bool AMP::TimeIntegrator::RK23TimeIntegrator::d_use_fixed_dt = false
private

Definition at line 127 of file RK23TimeIntegrator.h.

◆ d_writer

std::shared_ptr<AMP::IO::Writer> AMP::TimeIntegrator::TimeIntegrator::d_writer
protectedinherited

keeps track of total number of step rejections

Definition at line 364 of file TimeIntegrator.h.

Referenced by AMP::TimeIntegrator::TimeIntegrator::registerWriter().

◆ d_z_vec

std::shared_ptr<AMP::LinearAlgebra::Vector> AMP::TimeIntegrator::RK23TimeIntegrator::d_z_vec
private

Definition at line 134 of file RK23TimeIntegrator.h.


The documentation for this class was generated from the following file:



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:45.
Comments on this page