group functions

Summary

MembersDescriptions
public const char * lion_regime_name(lion_regime_t regime)Get the name of the regime.
public const char * lion_stepper_name(lion_stepper_t stepper)Get the name of the stepper.
public const char * lion_minimizer_name(lion_minimizer_t minimizer)Get the name of the minimizer.
public const char * lion_gsl_errno_name(const int num)Get the name of the GSL error number.
public const char * lion_jacobian_name(lion_jacobian_method_t jacobian)Get the name of a jacobian calculation method.
public const char * lion_params_rint_get_name(lion_rint_model_t model)Get the name of the internal resistance model.
public const char * lion_params_soh_get_name(lion_soh_model_t model)Get the name of the degradation model.
public lion_params_init_t lion_params_default_init(void)Get default initial conditions parameters.
public lion_params_ehc_t lion_params_default_ehc(void)Get default entropic heat coefficient parameters.
public lion_params_ocv_t lion_params_default_ocv(void)Get default open-circuit voltage parameters.
public lion_params_vft_t lion_params_default_vft(void)Get default capacity parameters.
public lion_params_temp_t lion_params_default_temp(void)Get default temperature parameters.
public lion_params_rint_fixed_t lion_params_default_rint_fixed(void)Get default fixed internal resistance parameters.
public lion_params_rint_polarization_t lion_params_default_rint_polarization(void)Get default polarization internal resistance parameters.
public lion_params_rint_t lion_params_default_rint(void)Get default internal resistance parameters.
public lion_params_soh_vendor_t lion_params_default_soh_vendor(void)Get default vendor degradation model parameters.
public lion_params_soh_masserano_t lion_params_default_soh_masserano(void)Get default Masserano degradation model parameters.
public lion_params_soh_t lion_params_default_soh(void)Get default degradation model parameters.
public lion_params_t lion_params_default(void)Get default system parameters.
public lion_status_t lion_sim_config_new(lion_sim_config_t * out)Create a new configuration.
public lion_sim_config_t lion_sim_config_default(void)Create a default configuration.
public lion_status_t lion_sim_new(lion_sim_config_t * conf,lion_params_t * params,lion_sim_t * out)Create a new simulation.
public lion_status_t lion_sim_init(lion_sim_t * sim)Initialize the simulation.
public lion_status_t lion_sim_reset(lion_sim_t * sim)Reset the simulation.
public lion_status_t lion_sim_step(lion_sim_t * sim,double power,double ambient_temperature)Step the simulation in time.
public lion_status_t lion_sim_run(lion_sim_t * sim,lion_vector_t * power,lion_vector_t * ambient_temperature)Runs the simulation.
public lion_version_t lion_sim_get_version(lion_sim_t * sim)Get the version of the simulator.
public int lion_sim_should_close(lion_sim_t * sim)Check whether the simulation should close.
public uint64_t lion_sim_max_iters(lion_sim_t * sim)Get the max number of iterations.
public lion_status_t lion_sim_cleanup(lion_sim_t * sim)Clean up the simulation.
public lion_status_t lion_vector_new(lion_sim_t * sim,const size_t data_size,lion_vector_t * out)Create new empty vector.
public lion_status_t lion_vector_zero(lion_sim_t * sim,const size_t len,const size_t data_size,lion_vector_t * out)Create new vector filled with zeros.
public lion_status_t lion_vector_with_capacity(lion_sim_t * sim,const size_t capacity,const size_t data_size,lion_vector_t * out)Create empty vector with preallocated size.
public lion_status_t lion_vector_from_array(lion_sim_t * sim,const void * data,const size_t len,const size_t data_size,lion_vector_t * out)Create vector from array.
public lion_status_t lion_vector_from_csv(lion_sim_t * sim,const char * filename,const size_t data_size,const char * format,lion_vector_t * out)Create vector from a CSV file.
public lion_status_t lion_vector_linspace_d(lion_sim_t * sim,double low,double high,int num,lion_vector_t * out)Create vector of evenly spaced doubles.
public lion_status_t lion_vector_linspace_f(lion_sim_t * sim,float low,float high,int num,lion_vector_t * out)Create vector of evenly spaced floats.
public lion_status_t lion_vector_to_csv(lion_sim_t * sim,lion_vector_t * vec,const char * header,const char * filename)Save a vector into a CSV file.
public lion_status_t lion_vector_cleanup(lion_sim_t* sim,constlion_vector_t *const vec)Destroy a vector.
public lion_status_t lion_vector_get(lion_sim_t* sim,constlion_vector_t * vec,const size_t i,void * out)Get a given element from the vector.
public int8_t lion_vector_get_i8(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public int16_t lion_vector_get_i16(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public int32_t lion_vector_get_i32(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public int64_t lion_vector_get_i64(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public uint8_t lion_vector_get_u8(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public uint16_t lion_vector_get_u16(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public uint32_t lion_vector_get_u32(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public uint64_t lion_vector_get_u64(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public float lion_vector_get_f(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public double lion_vector_get_d(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public void * lion_vector_get_p(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)
public lion_status_t lion_vector_set(lion_sim_t * sim,lion_vector_t * vec,const size_t i,const void * src)Set a given element from the vector. Copies the original element.
public lion_status_t lion_vector_resize(lion_sim_t * sim,lion_vector_t * vec,const size_t new_capacity)Resizes the vector.
public lion_status_t lion_vector_push(lion_sim_t * sim,lion_vector_t * vec,const void * src)Pushes an element into the vector.
public lion_status_t lion_vector_push_d(lion_sim_t * sim,lion_vector_t * vec,double src)
public lion_status_t lion_vector_push_f(lion_sim_t * sim,lion_vector_t * vec,float src)
public lion_status_t lion_vector_extend_array(lion_sim_t * sim,lion_vector_t * vec,const void * src,const size_t len)Extends the vector using an array.
public size_t lion_vector_total_size(lion_sim_t* sim,constlion_vector_t * vec)Total size of the vector.
public size_t lion_vector_alloc_size(lion_sim_t* sim,constlion_vector_t * vec)Allocated size of the vector.

Members

public const char * lion_regime_name(lion_regime_t regime)

Get the name of the regime.

public const char * lion_stepper_name(lion_stepper_t stepper)

Get the name of the stepper.

public const char * lion_minimizer_name(lion_minimizer_t minimizer)

Get the name of the minimizer.

public const char * lion_gsl_errno_name(const int num)

Get the name of the GSL error number.

public const char * lion_jacobian_name(lion_jacobian_method_t jacobian)

Get the name of a jacobian calculation method.

public const char * lion_params_rint_get_name(lion_rint_model_t model)

Get the name of the internal resistance model.

public const char * lion_params_soh_get_name(lion_soh_model_t model)

Get the name of the degradation model.

public lion_params_init_t lion_params_default_init(void)

Get default initial conditions parameters.

public lion_params_ehc_t lion_params_default_ehc(void)

Get default entropic heat coefficient parameters.

public lion_params_ocv_t lion_params_default_ocv(void)

Get default open-circuit voltage parameters.

public lion_params_vft_t lion_params_default_vft(void)

Get default capacity parameters.

public lion_params_temp_t lion_params_default_temp(void)

Get default temperature parameters.

public lion_params_rint_fixed_t lion_params_default_rint_fixed(void)

Get default fixed internal resistance parameters.

public lion_params_rint_polarization_t lion_params_default_rint_polarization(void)

Get default polarization internal resistance parameters.

public lion_params_rint_t lion_params_default_rint(void)

Get default internal resistance parameters.

public lion_params_soh_vendor_t lion_params_default_soh_vendor(void)

Get default vendor degradation model parameters.

public lion_params_soh_masserano_t lion_params_default_soh_masserano(void)

Get default Masserano degradation model parameters.

public lion_params_soh_t lion_params_default_soh(void)

Get default degradation model parameters.

public lion_params_t lion_params_default(void)

Get default system parameters.

public lion_status_t lion_sim_config_new(lion_sim_config_t * out)

Create a new configuration.

Parameters

  • out Variable to store the new configuration.

public lion_sim_config_t lion_sim_config_default(void)

Create a default configuration.

public lion_status_t lion_sim_new(lion_sim_config_t * conf,lion_params_t * params,lion_sim_t * out)

Create a new simulation.

Sets up the simulation with a set of configuration and parameters.

Parameters

  • conf Pointer to the simulation configuration.

  • params Pointer to the simulation parameters.

  • out Pointer to where the sim will be created.

public lion_status_t lion_sim_init(lion_sim_t * sim)

Initialize the simulation.

public lion_status_t lion_sim_reset(lion_sim_t * sim)

Reset the simulation.

public lion_status_t lion_sim_step(lion_sim_t * sim,double power,double ambient_temperature)

Step the simulation in time.

Steps the simulation forward considering some power and ambient temperature values.

Parameters

  • sim Simulation to step forward.

  • power Power extracted from the cell.

  • ambient_temperature Ambient temperature around the cell.

public lion_status_t lion_sim_run(lion_sim_t * sim,lion_vector_t * power,lion_vector_t * ambient_temperature)

Runs the simulation.

Runs the simulation considering a vector of values.

Parameters

  • sim Simulation to run.

  • power Power extracted from the cell at each time step.

  • ambient_temperature Ambient temperature around the cell at each time step.

public lion_version_t lion_sim_get_version(lion_sim_t * sim)

Get the version of the simulator.

public int lion_sim_should_close(lion_sim_t * sim)

Check whether the simulation should close.

public uint64_t lion_sim_max_iters(lion_sim_t * sim)

Get the max number of iterations.

public lion_status_t lion_sim_cleanup(lion_sim_t * sim)

Clean up the simulation.

public lion_status_t lion_vector_new(lion_sim_t * sim,const size_t data_size,lion_vector_t * out)

Create new empty vector.

Parameters

  • sim Simulation context, can be NULL.

  • data_size Size of each element.

  • out New vector.

public lion_status_t lion_vector_zero(lion_sim_t * sim,const size_t len,const size_t data_size,lion_vector_t * out)

Create new vector filled with zeros.

Parameters

  • sim Simulation context, can be NULL.

  • len Number of elements.

  • data_size Size of each element.

  • out New vector.

public lion_status_t lion_vector_with_capacity(lion_sim_t * sim,const size_t capacity,const size_t data_size,lion_vector_t * out)

Create empty vector with preallocated size.

Parameters

  • sim Simulation context, can be NULL.

  • capacity Preallocated size.

  • data_size Size of each element.

  • out New vector.

public lion_status_t lion_vector_from_array(lion_sim_t * sim,const void * data,const size_t len,const size_t data_size,lion_vector_t * out)

Create vector from array.

Parameters

  • sim Simulation context, can be NULL.

  • data Elements of the array.

  • len Number of elements.

  • data_size Size of each element.

  • out New vector.

public lion_status_t lion_vector_from_csv(lion_sim_t * sim,const char * filename,const size_t data_size,const char * format,lion_vector_t * out)

Create vector from a CSV file.

Parameters

  • sim Simulation context, can be NULL.

  • filename Name of the file.

  • data_size Size of each element.

  • format Format of each line.

  • out New vector.

public lion_status_t lion_vector_linspace_d(lion_sim_t * sim,double low,double high,int num,lion_vector_t * out)

Create vector of evenly spaced doubles.

Parameters

  • sim Simulation context, can be NULL.

  • low Lower limit.

  • high Upper limit.

  • num Number of elements.

  • out New vector.

public lion_status_t lion_vector_linspace_f(lion_sim_t * sim,float low,float high,int num,lion_vector_t * out)

Create vector of evenly spaced floats.

Parameters

  • sim Simulation context, can be NULL.

  • low Lower limit.

  • high Upper limit.

  • num Number of elements.

  • out New vector.

public lion_status_t lion_vector_to_csv(lion_sim_t * sim,lion_vector_t * vec,const char * header,const char * filename)

Save a vector into a CSV file.

Parameters

  • sim Simulation context, can be NULL.

  • vec Vector to save.

  • header Header to use for the CSV file. For no header pass NULL.

  • filename Name of the file.

public lion_status_t lion_vector_cleanup(lion_sim_t* sim,constlion_vector_t *const vec)

Destroy a vector.

public lion_status_t lion_vector_get(lion_sim_t* sim,constlion_vector_t * vec,const size_t i,void * out)

Get a given element from the vector.

Parameters

  • sim Simulation context, can be NULL.

  • vec Vector.

  • i Index of the element.

  • out Pointer to the location on which to store the output.

public int8_t lion_vector_get_i8(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public int16_t lion_vector_get_i16(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public int32_t lion_vector_get_i32(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public int64_t lion_vector_get_i64(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public uint8_t lion_vector_get_u8(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public uint16_t lion_vector_get_u16(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public uint32_t lion_vector_get_u32(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public uint64_t lion_vector_get_u64(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public float lion_vector_get_f(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public double lion_vector_get_d(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public void * lion_vector_get_p(lion_sim_t* sim,constlion_vector_t * vec,const size_t i)

public lion_status_t lion_vector_set(lion_sim_t * sim,lion_vector_t * vec,const size_t i,const void * src)

Set a given element from the vector. Copies the original element.

Parameters

  • sim Simulation context, can be NULL.

  • vec Vector.

  • i Index of the element.

  • out Pointer to the location to copy into the vector.

public lion_status_t lion_vector_resize(lion_sim_t * sim,lion_vector_t * vec,const size_t new_capacity)

Resizes the vector.

Parameters

  • sim Simulation context, can be NULL.

  • vec Vector to resize.

  • new_capacity New capacity for the vector.

public lion_status_t lion_vector_push(lion_sim_t * sim,lion_vector_t * vec,const void * src)

Pushes an element into the vector.

Parameters

  • sim Simulation context, can be NULL.

  • vec Vector to push into.

  • src Element to push. Clones this element.

public lion_status_t lion_vector_push_d(lion_sim_t * sim,lion_vector_t * vec,double src)

public lion_status_t lion_vector_push_f(lion_sim_t * sim,lion_vector_t * vec,float src)

public lion_status_t lion_vector_extend_array(lion_sim_t * sim,lion_vector_t * vec,const void * src,const size_t len)

Extends the vector using an array.

Parameters

  • sim Simulation context, can be NULL.

  • vec Vector to resize.

  • src Elements to push. Get cloned.

  • len Number of elements to push.

public size_t lion_vector_total_size(lion_sim_t* sim,constlion_vector_t * vec)

Total size of the vector.

Parameters

  • sim Simulation context, can be NULL.

  • vec Vector to fetch.

public size_t lion_vector_alloc_size(lion_sim_t* sim,constlion_vector_t * vec)

Allocated size of the vector.

Parameters

  • sim Simulation context, can be NULL.

  • vec Vector to fetch.