1#ifndef included_AMP_OxideTimeIntegrator
2#define included_AMP_OxideTimeIntegrator
5#include "AMP/time_integrators/TimeIntegrator.h"
6#include "AMP/time_integrators/oxide/OxideTimeIntegratorParameters.h"
7#include "AMP/vectors/Vector.h"
39 void initialize( std::shared_ptr<TimeIntegratorParameters> parameters )
override;
46 void reset( std::shared_ptr<const TimeIntegratorParameters> parameters )
override;
70 std::shared_ptr<AMP::LinearAlgebra::Vector> in,
71 std::shared_ptr<AMP::LinearAlgebra::Vector> out )
override;
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
This class solves the time-dependent oxide growth on a surface.
AMP::LinearAlgebra::Vector::shared_ptr depth
double getNextDt(const bool good_solution) override
bool checkNewSolution(void) override
void initialize(std::shared_ptr< TimeIntegratorParameters > parameters) override
std::vector< int > N_layer
AMP::LinearAlgebra::Vector::shared_ptr d_temp
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 in days.
AMP::LinearAlgebra::Vector::shared_ptr d_alpha
std::shared_ptr< AMP::Mesh::Mesh > d_mesh
void updateSolution(void) override
OxideTimeIntegrator(std::shared_ptr< TimeIntegratorParameters > parameters)
AMP::LinearAlgebra::Vector::shared_ptr conc
virtual ~OxideTimeIntegrator()
Empty destructor for TimeIntegrator.
void reset(std::shared_ptr< const TimeIntegratorParameters > parameters) override
AMP::LinearAlgebra::Vector::shared_ptr d_oxide
OxideTimeIntegrator()=delete
Abstract base class for time integration.
std::shared_ptr< AMP::TimeIntegrator::TimeIntegrator > shared_ptr
Convience typedef.