SLIDE  3.0.0
A simulator for lithium-ion battery pack degradation
Loading...
Searching...
No Matches
determine_characterisation.hpp
Go to the documentation of this file.
1/*
2 * determine_characterisation.hpp
3 *
4 * Header file for the functions used to find the parameters which will match measured CCCV cycles.
5 * This are the diffusion constants, rate constants and DC resistance.
6 *
7 * Copyright (c) 2019, The Chancellor, Masters and Scholars of the University
8 * of Oxford, VITO nv, and the 'Slide' Developers.
9 * See the licence file LICENCE.txt for more information.
10 */
11
12#pragma once
13
14#include "../cells/cells.hpp"
15#include "../utility/utility.hpp"
16#include "CyclerOld.hpp"
17#include "Cycler.hpp"
18
19#include <string>
20
21namespace slide {
22bool CCCV_fit(Cell_SPM c1, double Crate, double Ccut, double Tref, double Dp, double Dn, double kp,
23 double kn, double R, const struct OCVparam &ocvfit, const struct slide::Model_SPM &M,
25
26void CCCV(double Crate, double Ccut, double Tref, double Dp, double Dn, double kp, double kn, double R, const struct OCVparam &ocvfit,
27 const struct slide::Model_SPM &M, slide::XYdata_vv &Vsim, slide::XYdata_vv &Tsim);
28
29void fitDiffusionAndRate(int hierarchy, int ir, double R, slide::FixedData<double> Dp_space, slide::FixedData<double> Dn_space,
31 std::vector<slide::XYdata_vv> &Vdata_all, double weights[],
32 double Crates[], double Ccuts[], double Tref, const struct OCVparam &ocvfit,
33 double *err, std::array<double, 5> &par);
34
37 slide::FixedData<double> kn_space, std::vector<slide::XYdata_vv> &Vdata_all,
38 double weights[], double Crates[], double Ccuts[], double Tref,
39 const struct OCVparam &ocvfit, double *err, std::array<double, 5> &par);
40
41void writeCharacterisationParam(int h, const std::array<double, 5> &par, double err);
42
44} // namespace slide
Definition: FixedData.hpp:92
Definition: XYdata.hpp:46
Slide namespace contains all the types, classes, and functions for the simulation framework.
Definition: Cell.hpp:27
void fitDiffusionAndRate(int hierarchy, int ir, double R, slide::FixedData< double > Dp_space, slide::FixedData< double > Dn_space, slide::FixedData< double > kp_space, slide::FixedData< double > kn_space, std::vector< slide::XYdata_vv > &Vdata_all, double weights[], double Crates[], double Ccuts[], double Tref, const struct OCVparam &ocvfit, double *err, std::array< double, 5 > &par)
Definition: determine_characterisation.cpp:332
void writeCharacterisationParam(int h, const std::array< double, 5 > &par, double err)
Definition: determine_characterisation.cpp:748
void estimateCharacterisation()
Definition: determine_characterisation.cpp:521
bool CCCV_fit(Cell_SPM c1, double Crate, double Ccut, double Tref, double Dp, double Dn, double kp, double kn, double R, const struct OCVparam &ocvfit, const struct slide::Model_SPM &M, slide::XYdata_vv &Vsim, slide::XYdata_vv &Tsim)
Definition: determine_characterisation.cpp:35
void hierarchicalCharacterisationFit(int hmax, slide::FixedData< double > r_space, slide::FixedData< double > Dp_space, slide::FixedData< double > Dn_space, slide::FixedData< double > kp_space, slide::FixedData< double > kn_space, std::vector< slide::XYdata_vv > &Vdata_all, double weights[], double Crates[], double Ccuts[], double Tref, const struct OCVparam &ocvfit, double *err, std::array< double, 5 > &par)
Definition: determine_characterisation.cpp:429
CCCV
Definition: simulate_ECM_modules.m:16
Definition: Model_SPM.hpp:24
Definition: OCVparam.hpp:15