Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F82123115
chemistry_stagger_base.hpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Mon, Sep 9, 17:25
Size
1 KB
Mime Type
text/x-c++
Expires
Wed, Sep 11, 17:25 (2 d)
Engine
blob
Format
Raw Data
Handle
20654366
Attached To
rSPECMICP SpecMiCP / ReactMiCP
chemistry_stagger_base.hpp
View Options
#ifndef SPECMICP_REACTMICP_SOLVER_CHEMISTRYSTAGGERBASE_HPP
#define SPECMICP_REACTMICP_SOLVER_CHEMISTRYSTAGGERBASE_HPP
//! \file chemistry_stagger_base.hpp The base class for a chemistry 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 a transport stagger
//!
//! Implement the chemistry (equilibrium, kinetics, ...) in a derived class
class ChemistryStaggerBase
{
public:
virtual ~ChemistryStaggerBase() {}
//! \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_CHEMISTRYSTAGGERBASE_HPP
Event Timeline
Log In to Comment