Page MenuHomec4science

upscaling_stagger_base.hpp
No OneTemporary

File Metadata

Created
Wed, Jul 3, 08:42

upscaling_stagger_base.hpp

#ifndef SPECMICP_REACTMICP_SOLVER_UPSCALINGSTAGGERBASE_HPP
#define SPECMICP_REACTMICP_SOLVER_UPSCALINGSTAGGERBASE_HPP
//! \file upscaling_stagger_base.hpp The base class for the upscaling stagger
// following file include main data types and forward declaration needed for a stagger
#include "decl.inl"
namespace specmicp {
namespace reactmicp {
namespace solver {
//! \brief The base class for an upscaling stagger
//!
class UpscalingStaggerBase
{
public:
virtual ~UpscalingStaggerBase() {}
//! \brief Initialize the stagger at the beginning of the computation
//!
//! \param var a shared_ptr to the variables
virtual void initialize(VariablesBasePtr var) {}
//! \brief Initialize the stagger at the beginning of an iteration
//!
//! This is where the predictor can be saved, the first trivial iteration done, ...
//!
//! \param dt the duration of the timestep
//! \param var a shared_ptr to the variables
virtual void initialize_timestep(scalar_t dt, VariablesBasePtr var) = 0;
//! \brief Solve the equation for the timestep
//!
//! \param var a shared_ptr to the variables
virtual StaggerReturnCode restart_timestep(VariablesBasePtr var) = 0;
};
} // end namespace solver
} // end namespace reactmicp
} // end namespace specmicp
#endif // SPECMICP_REACTMICP_SOLVER_UPSCALINGSTAGGERBASE_HPP

Event Timeline