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 Rosenbrock class. Whether or not this is needed is dependent on the StepController, 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 rhs parameter doesn’t change, but we can’t mark as constant because ReSolve currently requires a non-const pointer for vectors, even if it will only read from that vector. In the future this might change, so this can be updated to be const.

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 nargs to be “arbitrary”

File MapFromCsr.hpp

Move to a more permanent location