Page MenuHomec4science

parabolic_structs.hpp
No OneTemporary

File Metadata

Created
Sat, May 25, 20:59

parabolic_structs.hpp

#ifndef SPECMICP_DFPMSOLVER_PARABOLCSTRUCTS_HPP
#define SPECMICP_DFPMSOLVER_PARABOLICSTRUCTS_HPP
#include "driver_structs.hpp"
namespace specmicp {
namespace dfpmsolver {
//! \brief Options of a parabolic driver
//!
struct ParabolicDriverOptions: public DriverOptions
{
scalar_t alpha; //!< Implicit/Cranck-Nicholson parameter
ParabolicDriverOptions():
DriverOptions(),
alpha(1.0)
{}
};
//! \brief Return codes
enum class ParabolicDriverReturnCode
{
MaxIterations = -4, //!< Maximum number of iterations reached
MaxStepTakenTooManyTimes = -3, //!< Maximum step taken too many times (divergence)
ErrorLinearSystem = -2, //!< Error when solving the linear system
StationaryPoint = -1, //!< Stationnary points are detected
NotConvergedYet = 0, //!< Problem is not converged
ResidualMinimized = 1, //!< The residual is minimized (Success)
ErrorMinimized = 2 //!< Error is minimized (may be good)
};
//! \brief Performance of the parabolic driver
struct ParabolicDriverPerformance: public DriverPerformance
{
ParabolicDriverReturnCode return_code;
};
} // end namespace dfpmsolver
} // end namespace specmicp
#endif // SPECMICP_DFPMSOLVER_PARABOLICSTRUCTS_HPP

Event Timeline