Todo List
- page Todo List
- Member AnalysisManager::NativeDynamicSolver::ErrorNorm< ScalarT, IdxT >::errorNorm (State &err, State &y, State &yprev, GridKit::LinearAlgebra::VectorHandler< ScalarT, IdxT > &handler, GridKit::memory::MemorySpace memspace) const =0
Allow this method to fail, since it will likely involve linear algebra calls.
- Member AnalysisManager::NativeDynamicSolver::Rosenbrock< ScalarT, IdxT >::Parameters::starting_step_
Consider adding a starting step size selector to select this automatically.
- Class AnalysisManager::NativeDynamicSolver::StepController< RealT >
It may be best to have usesError() return a reference to the ErrorNorm that should be used.
- Class CircuitGraph< N, E >
should replace with something better and more efficent. Should replace with a libraries setup instead. This would allow fast and easy partitioning of circuits
This is to replace inserting vector size for allocating PowerElectronicsModel
should replace N and E with Node and Component classes respectively.
- Member CircuitGraph< N, E >::printBiPartiteGraph (bool verbose=false)
need to add verbose printing for connections display
- Class GridKit::BaseBus< ScalarT, IdxT >
Consider static instead of dynamic polymorphism for bus types. Create Bus class that takes template parameter BusType.
- Member GridKit::BusSlack< ScalarT, IdxT >::lambdaP ()
Should slack bus allow changing voltage?
- Member GridKit::BusSlack< ScalarT, IdxT >::lambdaQ ()
Should slack bus allow changing phase?
- Member GridKit::BusSlack< ScalarT, IdxT >::theta ()
Should slack bus allow changing phase?
- Member GridKit::BusSlack< ScalarT, IdxT >::V ()
Should slack bus allow changing voltage?
- Member GridKit::CircuitComponent< ScalarT, IdxT >::connection_nodes_
may want to replace the mapping of connection_nodes to Node objects instead of IdxT. Allows for container free setup
- Member GridKit::LinearAlgebra::LinearSolver< ScalarT, IdxT >::solve (GridKit::LinearAlgebra::Vector< ScalarT, IdxT > &rhs, GridKit::LinearAlgebra::Vector< ScalarT, IdxT > &lhs)=0
The data of the
rhsparameter doesn’t change, but we can’t mark as cosntant because ReSolve currently requires a non-constpointer for vectors, even if it will only read from that vector. In the future this might change, so this can be updated to beconst.
- Member GridKit::Model::Evaluator< scalar_type, index_type >::getCsrJacobian () const
Remove this and use CsrMatrix for jac_
- Struct GridKit::PhasorDynamics::BusData< real_type, index_type >
Decide on naming scheme for model parameters.
- Member GridKit::PhasorDynamics::Component< scalar_type, index_type >::hasJacobian () override
Remove this method. It should be part of DynamicSolver class.
- Member GridKit::PhasorDynamics::from_json (const json &j, SystemModelData< RealT, IdxT > &sm)
Give signal nodes their own array!!! Modify JSON format accordingly
- Struct GridKit::PhasorDynamics::GenClassicalData< real_type, index_type >
Decide on naming scheme for model parameters.
- Struct GridKit::PhasorDynamics::SignalNodeData< real_type, index_type >
Decide on naming scheme for model parameters.
- Class GridKit::PhasorDynamics::SystemModel< scalar_type, index_type >
Address thread safety for the system model methods.
- Member GridKit::PhasorDynamics::SystemModelData< real_type, index_type >::bus
Create an enum identifying all available component models and consolidate components in a single container.
Convert string to enum
Associate component type to its corresponding enum
Consolidate components to allow writing to them using the enum as the argument
- Member GridKit::PowerElectronicsModel< ScalarT, IdxT >::evaluateExternalResidual () final
implement this for nested systems
- Member GridKit::setLookupTable (std::vector< std::vector< ScalarT > > &table, std::istream &idata, ScalarT &ti, ScalarT &tf)
needs to return int for file error codes
- Class GridKit::SystemModel< ScalarT, IdxT >
Address thread safety for the system model methods.
- Member GridKit::SystemModel< ScalarT, IdxT >::evaluateJacobian ()
Need to implement Jacobian. For now, using finite difference approximation provided by IDA. This works for dense Jacobian matrix only.
- Member GridKit::SystemModel< ScalarT, IdxT >::evaluateResidual ()
Here, components write to local values, which are then copied to global system vectors. Make components write to the system vectors directly.
- Member GridKit::SystemModel< ScalarT, IdxT >::initialize ()
Implement writting to system vectors in a thread-safe way.
- Member GridKit::SystemModel< ScalarT, IdxT >::tagDifferentiable ()
Tagging differential variables
- Class GridKit::SystemSteadyStateModel< ScalarT, IdxT >
Address thread safety for the system model methods.
Tolerance management needs to be reconsidered.
- Member GridKit::SystemSteadyStateModel< ScalarT, IdxT >::evaluateJacobian ()
Need to implement Jacobian. For now, using finite difference approximation provided by IDA. This works for dense Jacobian matrix only.
- Member GridKit::SystemSteadyStateModel< ScalarT, IdxT >::evaluateResidual ()
Here, components write to local values, which are then copied to global system vectors. Make components write to the system vectors directly.
- Member GridKit::SystemSteadyStateModel< ScalarT, IdxT >::initialize ()
Implement writting to system vectors in a thread-safe way.
- Member GridKit::SystemSteadyStateModel< ScalarT, IdxT >::tagDifferentiable ()
Tagging differential variables
- Class GridKit::Utilities::CliArgs
Allow option grouping for a more expressive help description.
- Struct GridKit::Utilities::Option
Allow positional arguments
Allow
nargsto be “arbitrary”
- File MapFromCsr.hpp
Move to a more permanent location