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 >::err_norm_
Should be removed from the
Rosenbrockclass. Whether or not this is needed is dependent on theStepController, so it should be stored there.
- 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 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::DependencyTracking::Variable::setFixed (bool b=false)
is_fixed_ is currently not contributing to the semantics of the derivatives. Leaving as-is for now, as it is not used for anything other than printed diagnostics.
- Member GridKit::Generator4Param< ScalarT, IdxT >::table_
This should be part of a separate model.
- 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 constant 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::PhasorDynamics::Component< scalar_type, index_type >::constructCsrFromCoo ()
The matrix is only computed on the first call, and the data is stale on subsequent calls.
Unify with system-level construction that retains map_to_csr_.
- Member GridKit::PhasorDynamics::Component< scalar_type, index_type >::hasJacobian () override
Remove this method. It should be part of DynamicSolver class.
- Member GridKit::PhasorDynamics::Converter::Regca< scalar_type, index_type >::awmax (const ScalarT x, const ScalarT f, const ScalarT xmax, const ScalarT fmax)
Move this one-sided anti-windup helper to CommonMath.
- Member GridKit::PhasorDynamics::Converter::Regca< scalar_type, index_type >::rrpwr (const ScalarT x, const ScalarT f, const RealT rate)
Move this reusable limiter to CommonMath.
- 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::SystemModel< scalar_type, index_type >::gridkit_branch_indices_
remove this map and use branch IDs to access individual branches.
- 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::PowerElectronics::Component< ScalarT, IdxT >::allocateVectors (IdxT n, bool system=false)
This is a weird exception specifically for systems - and in a hierarchical setting will only be needed by the topmost system - subsystems shouldn’t allocate and should have their internal pointers set by the system above them. Ideally we can remove this exception by having the integrator allocate these buffers instead of the system and set the internal pointers for the topmost system.
- Member GridKit::PowerElectronics::SystemModel< 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 writing 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 writing 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