7 #include <parcer/Communicator.h>
32 Eigen::VectorXd
const&
actionVec = Eigen::VectorXd());
44 std::shared_ptr<ModPiece>
const&
root,
48 Eigen::VectorXd
const&
actionVec = Eigen::VectorXd());
53 void UpdateInputs(Eigen::Ref<const Eigen::VectorXd>
const& newState,
double const time);
56 std::shared_ptr<ModPiece>
rhs;
59 std::shared_ptr<ModPiece>
root;
A helper class for Sundial's time integration.
std::shared_ptr< ModPiece > root
A function we are trying to find the root of along an orbit of the ODE (nullptr if we are not doing a...
Eigen::VectorXd time
The inputs to the rhs — the first is the state, the rest are constant in time.
const bool autonomous
Is the RHS autonomous?
virtual ~ODEData()=default
ref_vector< Eigen::VectorXd > inputs
ODEData(std::shared_ptr< ModPiece > const &rhs, ref_vector< Eigen::VectorXd > const &refinputs, bool const autonomous, int const wrtIn, Eigen::VectorXd const &actionVec=Eigen::VectorXd())
Construct basic ode data.
Eigen::VectorXd actionVec
void UpdateInputs(Eigen::Ref< const Eigen::VectorXd > const &newState, double const time)
Update the time and state inputs.
const int wrtIn
The input we are computing the derivative wrt — negative indicates no derivative is being computed.
std::shared_ptr< ModPiece > rhs
The right hand side of the ODE.
std::vector< std::reference_wrapper< const T > > ref_vector
A vector of references to something ...