From ba59000b3bb698b8717dbb05041c64de13a41f5a Mon Sep 17 00:00:00 2001 From: Lorena Hendrix Date: Fri, 28 Jun 2024 08:15:34 +0200 Subject: [PATCH] matched parameter functions with BattMo.jl --- .vscode/settings.json | 1 + Documentation/intermediate.rst | 2 +- .../jsonfiles/Example/interface.json | 2 +- .../jsonfiles/Example/positiveElectrode.json | 2 +- Examples/JsonDataFiles/p2d_40.json | 4 +-- Examples/JsonDataFiles/p2d_40_jl.json | 4 +-- Examples/JsonDataFiles/sample_input.json | 4 +-- Examples/LNMO/SiGrLnmo.json | 6 ++-- Examples/LNMO/params_initial.json | 4 +-- .../LNMO/params_lnmo_sig_intelligent.json | 2 +- Examples/LNMO/params_modified.json | 4 +-- ...ple1_lithium_ion_battery_nmc_graphite.json | 4 +-- .../{LiC6 => Graphite}/LiC6_Xu.json | 2 +- ....m => computeOCP_Graphite_SiOx_Chen2020.m} | 2 +- ...aphite.m => computeOCP_Graphite_Torchio.m} | 2 +- .../computeOCP_Graphite_Xu2015.m} | 2 +- .../MaterialProperties/Graphite/graphite.json | 2 +- ParameterData/MaterialProperties/LFP/LFP.json | 2 +- .../LFP/computeOCP_LFP_Gerver2011.m | 5 ++++ ...PFunc_LFP_Xu.m => computeOCP_LFP_Xu2015.m} | 2 +- .../MaterialProperties/LNMO/LNMO_Mao.json | 2 +- .../MaterialProperties/LNMO/LNMO_Pron.json | 2 +- ...PFunc_LNMO_Mao.m => computeOCP_LNMO_Mao.m} | 2 +- ...unc_LNMO_Pron.m => computeOCP_LNMO_Pron.m} | 2 +- ...11_Chen.m => computeOCP_NMC811_Chen2020.m} | 2 +- .../NMC/computeOCP_nmc111.m | 2 +- .../MaterialProperties/NMC/nmc111.json | 2 +- .../computeDiffusionCoefficient_Chen2020.m | 28 +++++++++++++++++++ ...m => computeDiffusionCoefficient_Xu2015.m} | 2 +- .../computeElectrolyteConductivity_Chen2020.m | 28 +++++++++++++++++++ ...> computeElectrolyteConductivity_Xu2015.m} | 2 +- .../OrganicLiPF6Solutions/orgLiPF6_Xu.json | 4 +-- .../Silicon/computeJ0SiliconLi2012.m | 2 +- ...onLi2012.m => computeOCP_Silicon_Li2012.m} | 2 +- .../MaterialProperties/Silicon/silicon.json | 2 +- ...chen2020_negative_electrode_interface.json | 2 +- ...chen2020_positive_electrode_interface.json | 2 +- .../ParameterSets/Safari2009/anode_sei.json | 2 +- .../ParameterSets/Safari2009/cathode.json | 2 +- .../RunFromMatlab/src/JSON_lower_overloads.jl | 4 +-- 40 files changed, 108 insertions(+), 46 deletions(-) create mode 100644 .vscode/settings.json rename ParameterData/MaterialProperties/{LiC6 => Graphite}/LiC6_Xu.json (84%) rename ParameterData/MaterialProperties/Graphite/{computeOCP_graphite_Chen.m => computeOCP_Graphite_SiOx_Chen2020.m} (95%) rename ParameterData/MaterialProperties/Graphite/{computeOCP_graphite.m => computeOCP_Graphite_Torchio.m} (97%) rename ParameterData/MaterialProperties/{LiC6/computeOCPFunc_LiC6_Xu.m => Graphite/computeOCP_Graphite_Xu2015.m} (95%) create mode 100644 ParameterData/MaterialProperties/LFP/computeOCP_LFP_Gerver2011.m rename ParameterData/MaterialProperties/LFP/{computeOCPFunc_LFP_Xu.m => computeOCP_LFP_Xu2015.m} (97%) rename ParameterData/MaterialProperties/LNMO/{updateOCPFunc_LNMO_Mao.m => computeOCP_LNMO_Mao.m} (96%) rename ParameterData/MaterialProperties/LNMO/{updateOCPFunc_LNMO_Pron.m => computeOCP_LNMO_Pron.m} (99%) rename ParameterData/MaterialProperties/NMC/{computeOCP_nmc111_Chen.m => computeOCP_NMC811_Chen2020.m} (95%) create mode 100644 ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeDiffusionCoefficient_Chen2020.m rename ParameterData/MaterialProperties/OrganicLiPF6Solutions/{computeDiffusionCoefficientFunc_Xu.m => computeDiffusionCoefficient_Xu2015.m} (95%) create mode 100644 ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeElectrolyteConductivity_Chen2020.m rename ParameterData/MaterialProperties/OrganicLiPF6Solutions/{computeElectrolyteConductivityFunc_Xu.m => computeElectrolyteConductivity_Xu2015.m} (95%) rename ParameterData/MaterialProperties/Silicon/{computeOCPSiliconLi2012.m => computeOCP_Silicon_Li2012.m} (95%) diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/Documentation/intermediate.rst b/Documentation/intermediate.rst index 865f901a0..df9dada63 100644 --- a/Documentation/intermediate.rst +++ b/Documentation/intermediate.rst @@ -173,7 +173,7 @@ the :code:`jsonstruct` that is obtained is equivalent to the one where we would "guestStoichiometry0": 0.1429, "chargeTransferCoefficient": 0.5, "openCircuitPotential" : {"type": "function", - "functionname" : "computeOCP_graphite", + "functionname" : "computeOCP_Graphite_Torchio", "argumentlist" : ["cElectrode", "T", "cmax"] }}}, diff --git a/Examples/Documentation/jsonfiles/Example/interface.json b/Examples/Documentation/jsonfiles/Example/interface.json index e32fb61f9..546bc1ede 100644 --- a/Examples/Documentation/jsonfiles/Example/interface.json +++ b/Examples/Documentation/jsonfiles/Example/interface.json @@ -9,7 +9,7 @@ "chargeTransferCoefficient": 0.5, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_graphite", + "functionname": "computeOCP_Graphite_Torchio", "argumentlist": [ "concentration", "temperature", diff --git a/Examples/Documentation/jsonfiles/Example/positiveElectrode.json b/Examples/Documentation/jsonfiles/Example/positiveElectrode.json index 19fa3fed2..7d0d19c09 100644 --- a/Examples/Documentation/jsonfiles/Example/positiveElectrode.json +++ b/Examples/Documentation/jsonfiles/Example/positiveElectrode.json @@ -19,7 +19,7 @@ "chargeTransferCoefficient": 0.5, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_nmc111", + "functionname": "computeOCP_NMC111", "argumentlist": [ "concentration", "temperature", diff --git a/Examples/JsonDataFiles/p2d_40.json b/Examples/JsonDataFiles/p2d_40.json index dfb831f72..c233d6c13 100644 --- a/Examples/JsonDataFiles/p2d_40.json +++ b/Examples/JsonDataFiles/p2d_40.json @@ -27,7 +27,7 @@ "chargeTransferCoefficient": 0.5, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_graphite", + "functionname": "computeOCP_Graphite_Torchio", "argumentlist": [ "concentration", "temperature", @@ -91,7 +91,7 @@ "chargeTransferCoefficient": 0.5, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_nmc111", + "functionname": "computeOCP_NMC111", "argumentlist": [ "concentration", "temperature", diff --git a/Examples/JsonDataFiles/p2d_40_jl.json b/Examples/JsonDataFiles/p2d_40_jl.json index dfb831f72..c233d6c13 100644 --- a/Examples/JsonDataFiles/p2d_40_jl.json +++ b/Examples/JsonDataFiles/p2d_40_jl.json @@ -27,7 +27,7 @@ "chargeTransferCoefficient": 0.5, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_graphite", + "functionname": "computeOCP_Graphite_Torchio", "argumentlist": [ "concentration", "temperature", @@ -91,7 +91,7 @@ "chargeTransferCoefficient": 0.5, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_nmc111", + "functionname": "computeOCP_NMC111", "argumentlist": [ "concentration", "temperature", diff --git a/Examples/JsonDataFiles/sample_input.json b/Examples/JsonDataFiles/sample_input.json index aa2da3bb3..60fb70e06 100644 --- a/Examples/JsonDataFiles/sample_input.json +++ b/Examples/JsonDataFiles/sample_input.json @@ -29,7 +29,7 @@ "chargeTransferCoefficient": 0.5, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_graphite", + "functionname": "computeOCP_Graphite_Torchio", "argumentlist": [ "concentration", "temperature", @@ -99,7 +99,7 @@ "chargeTransferCoefficient": 0.5, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_nmc111", + "functionname": "computeOCP_NMC111", "argumentlist": [ "concentration", "temperature", diff --git a/Examples/LNMO/SiGrLnmo.json b/Examples/LNMO/SiGrLnmo.json index 78bf04170..6833d3ec0 100644 --- a/Examples/LNMO/SiGrLnmo.json +++ b/Examples/LNMO/SiGrLnmo.json @@ -60,7 +60,7 @@ "temperature", "cmax" ], - "functionname": "computeOCP_graphite", + "functionname": "computeOCP_Graphite_Torchio", "type": "function" }, "reactionRateConstant": 5.031e-11, @@ -94,7 +94,7 @@ "temperature", "cmax" ], - "functionname": "computeOCPSiliconLi2012", + "functionname": "computeOCP_Silicon_Li2012", "type": "function" }, "reactionRateConstant": 5.031e-11, @@ -168,7 +168,7 @@ "temperature", "maximum concentration" ], - "functionname": "updateOCPFunc_LNMO_Pron", + "functionname": "computeOCP_LNMO_Pron", "type": "function" }, "reactionRateConstant": 2.33e-11, diff --git a/Examples/LNMO/params_initial.json b/Examples/LNMO/params_initial.json index 866ef6b23..4861b662f 100644 --- a/Examples/LNMO/params_initial.json +++ b/Examples/LNMO/params_initial.json @@ -61,7 +61,7 @@ "temperature", "cmax" ], - "functionname": "computeOCP_graphite_Chen", + "functionname": "computeOCP_Graphite_SiOx_Chen2020", "type": "function" }, "reactionRateConstant": 6.716e-12, @@ -129,7 +129,7 @@ "temperature", "maximum concentration" ], - "functionname": "updateOCPFunc_LNMO_Pron", + "functionname": "computeOCP_LNMO_Pron", "type": "function" }, "reactionRateConstant": 2.33e-11, diff --git a/Examples/LNMO/params_lnmo_sig_intelligent.json b/Examples/LNMO/params_lnmo_sig_intelligent.json index 50a9c4ac9..50341cd16 100644 --- a/Examples/LNMO/params_lnmo_sig_intelligent.json +++ b/Examples/LNMO/params_lnmo_sig_intelligent.json @@ -26,7 +26,7 @@ "temperature", "cmax" ], - "functionname": "computeOCP_graphite_Chen", + "functionname": "computeOCP_Graphite_SiOx_Chen2020", "type": "function" }, "reactionRateConstant": 6.716e-12, diff --git a/Examples/LNMO/params_modified.json b/Examples/LNMO/params_modified.json index 651de9f4e..81a4c934b 100644 --- a/Examples/LNMO/params_modified.json +++ b/Examples/LNMO/params_modified.json @@ -57,7 +57,7 @@ "temperature", "cmax" ], - "functionname": "computeOCP_graphite_Chen", + "functionname": "computeOCP_Graphite_SiOx_Chen2020", "type": "function" }, "reactionRateConstant": 6.716e-12, @@ -131,7 +131,7 @@ "temperature", "maximum concentration" ], - "functionname": "updateOCPFunc_LNMO_Pron", + "functionname": "computeOCP_LNMO_Pron", "type": "function" }, "saturationConcentration": 24358, diff --git a/ParameterData/BatteryCellParameters/LithiumIonBatteryCell/example1_lithium_ion_battery_nmc_graphite.json b/ParameterData/BatteryCellParameters/LithiumIonBatteryCell/example1_lithium_ion_battery_nmc_graphite.json index a494bec16..380564fdd 100644 --- a/ParameterData/BatteryCellParameters/LithiumIonBatteryCell/example1_lithium_ion_battery_nmc_graphite.json +++ b/ParameterData/BatteryCellParameters/LithiumIonBatteryCell/example1_lithium_ion_battery_nmc_graphite.json @@ -68,7 +68,7 @@ }, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_graphite", + "functionname": "computeOCP_Graphite_Torchio", "argumentlist": [ "concentration", "temperature", @@ -229,7 +229,7 @@ }, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_nmc111", + "functionname": "computeOCP_NMC111", "argumentlist": [ "concentration", "temperature", diff --git a/ParameterData/MaterialProperties/LiC6/LiC6_Xu.json b/ParameterData/MaterialProperties/Graphite/LiC6_Xu.json similarity index 84% rename from ParameterData/MaterialProperties/LiC6/LiC6_Xu.json rename to ParameterData/MaterialProperties/Graphite/LiC6_Xu.json index 9f7ef38ec..910bfedbf 100644 --- a/ParameterData/MaterialProperties/LiC6/LiC6_Xu.json +++ b/ParameterData/MaterialProperties/Graphite/LiC6_Xu.json @@ -8,7 +8,7 @@ "guestStoichiometry100": 0.51873811, "guestStoichiometry0": 0.001, "openCircuitPotential": {"type": "function", - "functionname": "computeOCPFunc_LiC6_Xu", + "functionname": "computeOCP_Graphite_Torchio_Xu2015", "argumentlist" : ["concentration", "temperature", "cmax"] } } diff --git a/ParameterData/MaterialProperties/Graphite/computeOCP_graphite_Chen.m b/ParameterData/MaterialProperties/Graphite/computeOCP_Graphite_SiOx_Chen2020.m similarity index 95% rename from ParameterData/MaterialProperties/Graphite/computeOCP_graphite_Chen.m rename to ParameterData/MaterialProperties/Graphite/computeOCP_Graphite_SiOx_Chen2020.m index 70ba3c7df..a7dc30084 100644 --- a/ParameterData/MaterialProperties/Graphite/computeOCP_graphite_Chen.m +++ b/ParameterData/MaterialProperties/Graphite/computeOCP_Graphite_SiOx_Chen2020.m @@ -1,4 +1,4 @@ -function [OCP, dUdT] = computeOCP_graphite_Chen(c, ~, cmax) +function [OCP, dUdT] = computeOCP_Graphite_SiOx_Chen2020(c, ~, cmax) % LG M50 graphite open circuit potential as a function of stochiometry, fit taken % from [1]. diff --git a/ParameterData/MaterialProperties/Graphite/computeOCP_graphite.m b/ParameterData/MaterialProperties/Graphite/computeOCP_Graphite_Torchio.m similarity index 97% rename from ParameterData/MaterialProperties/Graphite/computeOCP_graphite.m rename to ParameterData/MaterialProperties/Graphite/computeOCP_Graphite_Torchio.m index b13acb3ee..0b32d3af0 100644 --- a/ParameterData/MaterialProperties/Graphite/computeOCP_graphite.m +++ b/ParameterData/MaterialProperties/Graphite/computeOCP_Graphite_Torchio.m @@ -1,4 +1,4 @@ -function [OCP, dUdT] = computeOCP_graphite(c, T, cmax) +function [OCP, dUdT] = computeOCP_Graphite_Torchio(c, T, cmax) % Calculate the equilibrium open cirucuit potential of % graphite according to the model used by Torchio et al [1]. diff --git a/ParameterData/MaterialProperties/LiC6/computeOCPFunc_LiC6_Xu.m b/ParameterData/MaterialProperties/Graphite/computeOCP_Graphite_Xu2015.m similarity index 95% rename from ParameterData/MaterialProperties/LiC6/computeOCPFunc_LiC6_Xu.m rename to ParameterData/MaterialProperties/Graphite/computeOCP_Graphite_Xu2015.m index 595fd33d3..1526fa212 100644 --- a/ParameterData/MaterialProperties/LiC6/computeOCPFunc_LiC6_Xu.m +++ b/ParameterData/MaterialProperties/Graphite/computeOCP_Graphite_Xu2015.m @@ -1,4 +1,4 @@ -function [OCP, dUdT] = computeOCPFunc_LiC6_Xu(c, T, cmax) +function [OCP, dUdT] = computeOCP_Graphite_Torchio_Xu2015(c, T, cmax) %% TODO : implement function model to avoid reading data = [0.00, 1.28683 diff --git a/ParameterData/MaterialProperties/Graphite/graphite.json b/ParameterData/MaterialProperties/Graphite/graphite.json index bb3d4b4ce..7f736e9c1 100644 --- a/ParameterData/MaterialProperties/Graphite/graphite.json +++ b/ParameterData/MaterialProperties/Graphite/graphite.json @@ -8,7 +8,7 @@ "guestStoichiometry0": 0.1429, "chargeTransferCoefficient": 0.5, "openCircuitPotential" : {"type": "function", - "functionname" : "computeOCP_graphite", + "functionname" : "computeOCP_Graphite_Torchio", "argumentlist" : ["concentration", "temperature", "cmax"] } } diff --git a/ParameterData/MaterialProperties/LFP/LFP.json b/ParameterData/MaterialProperties/LFP/LFP.json index bb344c582..80fcdebfe 100644 --- a/ParameterData/MaterialProperties/LFP/LFP.json +++ b/ParameterData/MaterialProperties/LFP/LFP.json @@ -9,7 +9,7 @@ "guestStoichiometry0": 0.999, "chargeTransferCoefficient": 0.5, "openCircuitPotential": {"type": "function", - "functionname": "computeOCPFunc_LFP_Xu", + "functionname": "computeOCP_LFP_Xu2015", "argumentlist" : ["concentration", "temperature", "cmax"] } } diff --git a/ParameterData/MaterialProperties/LFP/computeOCP_LFP_Gerver2011.m b/ParameterData/MaterialProperties/LFP/computeOCP_LFP_Gerver2011.m new file mode 100644 index 000000000..fb6fc8ccd --- /dev/null +++ b/ParameterData/MaterialProperties/LFP/computeOCP_LFP_Gerver2011.m @@ -0,0 +1,5 @@ +function [OCP, dUdT] = computeOCP_LFP_Gerver2011(c, T, cmax) + + OCP = 3.41285712e+00 - 1.49721852e-02 * c/cmax + 3.54866018e+14 * exp(-3.95729493e+02 * c/cmax) - 1.45998465e+00 * exp(-1.10108622e+02 * (1 - c/cmax)) + dUdT = 0 +end \ No newline at end of file diff --git a/ParameterData/MaterialProperties/LFP/computeOCPFunc_LFP_Xu.m b/ParameterData/MaterialProperties/LFP/computeOCP_LFP_Xu2015.m similarity index 97% rename from ParameterData/MaterialProperties/LFP/computeOCPFunc_LFP_Xu.m rename to ParameterData/MaterialProperties/LFP/computeOCP_LFP_Xu2015.m index 4815176fb..c965f6535 100644 --- a/ParameterData/MaterialProperties/LFP/computeOCPFunc_LFP_Xu.m +++ b/ParameterData/MaterialProperties/LFP/computeOCP_LFP_Xu2015.m @@ -1,4 +1,4 @@ -function [OCP, dUdT] = computeOCPFunc_LFP_Xu(c, T, cmax) +function [OCP, dUdT] = computeOCP_LFP_Xu2015(c, T, cmax) %% TODO : implement function model to avoid reading stoc = c./cmax; diff --git a/ParameterData/MaterialProperties/LNMO/LNMO_Mao.json b/ParameterData/MaterialProperties/LNMO/LNMO_Mao.json index bccd834cf..6e92efd48 100644 --- a/ParameterData/MaterialProperties/LNMO/LNMO_Mao.json +++ b/ParameterData/MaterialProperties/LNMO/LNMO_Mao.json @@ -10,7 +10,7 @@ "guestStoichiometry100": 1.4001e-04, "guestStoichiometry0": 0.9811, "openCircuitPotential" : {"type" : "function", - "functionname" : "updateOCPFunc_LNMO_Mao", + "functionname" : "computeOCP_LNMO_Mao", "argumentlist" : ["concentration", "temperature", "maximum concentration"] }, "chargeTransferCoefficient" : 0.5} diff --git a/ParameterData/MaterialProperties/LNMO/LNMO_Pron.json b/ParameterData/MaterialProperties/LNMO/LNMO_Pron.json index 8557c7f88..d1810ce4b 100644 --- a/ParameterData/MaterialProperties/LNMO/LNMO_Pron.json +++ b/ParameterData/MaterialProperties/LNMO/LNMO_Pron.json @@ -8,6 +8,6 @@ "guestStoichiometry100": 1.4001e-04, "guestStoichiometry0": 0.9811, "openCircuitPotential" : {"type" : "function", - "functionname" : "updateOCPFunc_LNMO_Pron", + "functionname" : "computeOCP_LNMO_Pron", "argumentlist" : ["concentration", "temperature", "maximum concentration"]}, "chargeTransferCoefficient" : 0.5} diff --git a/ParameterData/MaterialProperties/LNMO/updateOCPFunc_LNMO_Mao.m b/ParameterData/MaterialProperties/LNMO/computeOCP_LNMO_Mao.m similarity index 96% rename from ParameterData/MaterialProperties/LNMO/updateOCPFunc_LNMO_Mao.m rename to ParameterData/MaterialProperties/LNMO/computeOCP_LNMO_Mao.m index bc8d78e9c..1dbffb73d 100644 --- a/ParameterData/MaterialProperties/LNMO/updateOCPFunc_LNMO_Mao.m +++ b/ParameterData/MaterialProperties/LNMO/computeOCP_LNMO_Mao.m @@ -1,4 +1,4 @@ -function [OCP, dUdT] = updateOCPFunc_lnmo_Mao(c, T, cmax) +function [OCP, dUdT] = computeOCP_LNMO_Mao(c, T, cmax) % Data from % @article{Mao_2020, title={Entropy Change Characteristics of the LiNi0.5Mn1.5O4 Cathode Material for Lithium-Ion Batteries}, volume={5}, ISSN={2470-1343}, url={http://dx.doi.org/10.1021/acsomega.9b03794}, DOI={10.1021/acsomega.9b03794}, number={8}, journal={ACS Omega}, publisher={American Chemical Society (ACS)}, author={Mao, Jing and Zhang, Peng and Liu, Xin and Liu, Yanxia and Shao, Guosheng and Dai, Kehua}, year={2020}, month=feb, pages={4109–4114} } diff --git a/ParameterData/MaterialProperties/LNMO/updateOCPFunc_LNMO_Pron.m b/ParameterData/MaterialProperties/LNMO/computeOCP_LNMO_Pron.m similarity index 99% rename from ParameterData/MaterialProperties/LNMO/updateOCPFunc_LNMO_Pron.m rename to ParameterData/MaterialProperties/LNMO/computeOCP_LNMO_Pron.m index 084a91acd..635329ca3 100644 --- a/ParameterData/MaterialProperties/LNMO/updateOCPFunc_LNMO_Pron.m +++ b/ParameterData/MaterialProperties/LNMO/computeOCP_LNMO_Pron.m @@ -1,4 +1,4 @@ -function [OCP, dUdT] = updateOCPFunc_lnmo_Pron(c, T, cmax) +function [OCP, dUdT] = computeOCP_LNMO_Pron(c, T, cmax) % Data from % @article{Pron_2019, title={Electrochemical Characterization and Solid Electrolyte Interface Modeling of LiNi0.5Mn1.5O4-Graphite Cells}, volume={166}, ISSN={1945-7111}, url={http://dx.doi.org/10.1149/2.0941910jes}, DOI={10.1149/2.0941910jes}, number={10}, journal={Journal of The Electrochemical Society}, publisher={The Electrochemical Society}, author={Pron, Vittorio Giai and Versaci, Daniele and Amici, Julia and Francia, Carlotta and Santarelli, Massimo and Bodoardo, Silvia}, year={2019}, pages={A2255–A2263} } diff --git a/ParameterData/MaterialProperties/NMC/computeOCP_nmc111_Chen.m b/ParameterData/MaterialProperties/NMC/computeOCP_NMC811_Chen2020.m similarity index 95% rename from ParameterData/MaterialProperties/NMC/computeOCP_nmc111_Chen.m rename to ParameterData/MaterialProperties/NMC/computeOCP_NMC811_Chen2020.m index f84382e0d..4d0bf1741 100644 --- a/ParameterData/MaterialProperties/NMC/computeOCP_nmc111_Chen.m +++ b/ParameterData/MaterialProperties/NMC/computeOCP_NMC811_Chen2020.m @@ -1,4 +1,4 @@ -function [OCP, dUdT] = computeOCP_nmc111_Chen(c, T, cmax) +function [OCP, dUdT] = computeOCP_NMC811_Chen2020(c, T, cmax) % LG M50 NMC open circuit potential as a function of stochiometry, fit taken % from [1]. diff --git a/ParameterData/MaterialProperties/NMC/computeOCP_nmc111.m b/ParameterData/MaterialProperties/NMC/computeOCP_nmc111.m index 2de43a64d..f516e6c00 100644 --- a/ParameterData/MaterialProperties/NMC/computeOCP_nmc111.m +++ b/ParameterData/MaterialProperties/NMC/computeOCP_nmc111.m @@ -1,4 +1,4 @@ -function [OCP, dUdT] = computeOCP_nmc111(c, T, cmax) +function [OCP, dUdT] = computeOCP_NMC111(c, T, cmax) Tref = 298.15; % [K] diff --git a/ParameterData/MaterialProperties/NMC/nmc111.json b/ParameterData/MaterialProperties/NMC/nmc111.json index 2bfe2236f..bc201cbdd 100644 --- a/ParameterData/MaterialProperties/NMC/nmc111.json +++ b/ParameterData/MaterialProperties/NMC/nmc111.json @@ -9,7 +9,7 @@ "guestStoichiometry0": 0.99174, "chargeTransferCoefficient" : 0.5, "openCircuitPotential" : {"type" : "function", - "functionname" : "computeOCP_nmc111", + "functionname" : "computeOCP_NMC111", "argumentlist" : ["concentration", "temperature", "cmax"]} } diff --git a/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeDiffusionCoefficient_Chen2020.m b/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeDiffusionCoefficient_Chen2020.m new file mode 100644 index 000000000..ce9bd8e80 --- /dev/null +++ b/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeDiffusionCoefficient_Chen2020.m @@ -0,0 +1,28 @@ +function D = computeDiffusionCoefficient_Chen2020(c, T) + + c = c./1000; + D = 8.794 .*10^(-11) .*c .^2 - 3.972 .*10^(-10) .*c + 4.862*10^(-10); + +end + + + +%{ +Copyright 2021-2024 SINTEF Industry, Sustainable Energy Technology +and SINTEF Digital, Mathematics & Cybernetics. + +This file is part of The Battery Modeling Toolbox BattMo + +BattMo is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +BattMo is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with BattMo. If not, see . +%} diff --git a/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeDiffusionCoefficientFunc_Xu.m b/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeDiffusionCoefficient_Xu2015.m similarity index 95% rename from ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeDiffusionCoefficientFunc_Xu.m rename to ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeDiffusionCoefficient_Xu2015.m index d870a05c8..58c683f8c 100644 --- a/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeDiffusionCoefficientFunc_Xu.m +++ b/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeDiffusionCoefficient_Xu2015.m @@ -1,4 +1,4 @@ -function D = computeDiffusionCoefficientFunc_Xu(c, T) +function D = computeDiffusionCoefficient_Xu2015(c, T) % Calculate diffusion coefficients constant for the diffusion coefficient calculation cnst = [ -4.43, -54; diff --git a/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeElectrolyteConductivity_Chen2020.m b/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeElectrolyteConductivity_Chen2020.m new file mode 100644 index 000000000..b5ae5f217 --- /dev/null +++ b/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeElectrolyteConductivity_Chen2020.m @@ -0,0 +1,28 @@ +function D = computeElectrolyteConductivity_Chen2020(c, T) + + c = c./1000; + D = 0.1297 .*c.^3 - 2.51 .*c.^(1.5) + 3.329 .*c; + +end + + + +%{ +Copyright 2021-2024 SINTEF Industry, Sustainable Energy Technology +and SINTEF Digital, Mathematics & Cybernetics. + +This file is part of The Battery Modeling Toolbox BattMo + +BattMo is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +BattMo is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with BattMo. If not, see . +%} diff --git a/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeElectrolyteConductivityFunc_Xu.m b/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeElectrolyteConductivity_Xu2015.m similarity index 95% rename from ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeElectrolyteConductivityFunc_Xu.m rename to ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeElectrolyteConductivity_Xu2015.m index df36bbbd6..c2d6ce610 100644 --- a/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeElectrolyteConductivityFunc_Xu.m +++ b/ParameterData/MaterialProperties/OrganicLiPF6Solutions/computeElectrolyteConductivity_Xu2015.m @@ -1,4 +1,4 @@ -function conductivity = computeElectrolyteConductivityFunc_Xu(c, T) +function conductivity = computeElectrolyteConductivity_Xu2015(c, T) conductivityFactor = 1e-4; diff --git a/ParameterData/MaterialProperties/OrganicLiPF6Solutions/orgLiPF6_Xu.json b/ParameterData/MaterialProperties/OrganicLiPF6Solutions/orgLiPF6_Xu.json index 4567913db..3f8eb57b5 100644 --- a/ParameterData/MaterialProperties/OrganicLiPF6Solutions/orgLiPF6_Xu.json +++ b/ParameterData/MaterialProperties/OrganicLiPF6Solutions/orgLiPF6_Xu.json @@ -8,7 +8,7 @@ }, "Conductivity": { "type": "function", - "functionname": "computeElectrolyteConductivityFunc_Xu", + "functionname": "computeElectrolyteConductivity_Xu2015", "argumentlist": [ "concentration", "temperature" @@ -16,7 +16,7 @@ }, "DiffusionCoefficient": { "type": "function", - "functionname": "computeDiffusionCoefficientFunc_Xu", + "functionname": "computeDiffusionCoefficient_Xu2015", "argumentlist": [ "concentration", "temperature" diff --git a/ParameterData/MaterialProperties/Silicon/computeJ0SiliconLi2012.m b/ParameterData/MaterialProperties/Silicon/computeJ0SiliconLi2012.m index 34142d5d8..1dd7ff3e3 100644 --- a/ParameterData/MaterialProperties/Silicon/computeJ0SiliconLi2012.m +++ b/ParameterData/MaterialProperties/Silicon/computeJ0SiliconLi2012.m @@ -1,4 +1,4 @@ -function j0 = computeJ0SiliconLi2012(soc) +function j0 = computeJ0_Silicon_Li2012(soc) %% unit of j0 is in [A/m^2] j0 = 10; diff --git a/ParameterData/MaterialProperties/Silicon/computeOCPSiliconLi2012.m b/ParameterData/MaterialProperties/Silicon/computeOCP_Silicon_Li2012.m similarity index 95% rename from ParameterData/MaterialProperties/Silicon/computeOCPSiliconLi2012.m rename to ParameterData/MaterialProperties/Silicon/computeOCP_Silicon_Li2012.m index 17096e304..47870368e 100644 --- a/ParameterData/MaterialProperties/Silicon/computeOCPSiliconLi2012.m +++ b/ParameterData/MaterialProperties/Silicon/computeOCP_Silicon_Li2012.m @@ -1,4 +1,4 @@ -function [OCP, dUdT] = computeOCPSiliconLi2012(c, T, cmax) +function [OCP, dUdT] = computeOCP_Silicon_Li2012(c, T, cmax) % From % Juchuan Li, Xingcheng Xiao, Fuqian Yang, Mark W. Verbrugge, Yang-Tse Cheng % Potentiostatic Intermittent Titration Technique for Electrodes Governed by Diffusion and Interfacial Reaction diff --git a/ParameterData/MaterialProperties/Silicon/silicon.json b/ParameterData/MaterialProperties/Silicon/silicon.json index 64452c966..77dae838c 100644 --- a/ParameterData/MaterialProperties/Silicon/silicon.json +++ b/ParameterData/MaterialProperties/Silicon/silicon.json @@ -8,7 +8,7 @@ "guestStoichiometry0": 0.1429, "chargeTransferCoefficient": 0.5, "openCircuitPotential" : {"type": "function", - "functionname" : "computeOCPSiliconLi2012", + "functionname" : "computeOCP_Silicon_Li2012", "argumentlist" : ["concentration", "temperature", "cmax"] } } diff --git a/ParameterData/ParameterSets/Chen2020/chen2020_negative_electrode_interface.json b/ParameterData/ParameterSets/Chen2020/chen2020_negative_electrode_interface.json index d422de2e8..89b1a7bf6 100644 --- a/ParameterData/ParameterSets/Chen2020/chen2020_negative_electrode_interface.json +++ b/ParameterData/ParameterSets/Chen2020/chen2020_negative_electrode_interface.json @@ -9,7 +9,7 @@ "chargeTransferCoefficient": 0.5, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_graphite_Chen", + "functionname": "computeOCP_Graphite_SiOx_Chen2020", "argumentlist": [ "concentration", "temperature", diff --git a/ParameterData/ParameterSets/Chen2020/chen2020_positive_electrode_interface.json b/ParameterData/ParameterSets/Chen2020/chen2020_positive_electrode_interface.json index a9b5772a5..e17926a43 100644 --- a/ParameterData/ParameterSets/Chen2020/chen2020_positive_electrode_interface.json +++ b/ParameterData/ParameterSets/Chen2020/chen2020_positive_electrode_interface.json @@ -9,7 +9,7 @@ "chargeTransferCoefficient": 0.5, "openCircuitPotential": { "type": "function", - "functionname": "computeOCP_nmc111_Chen", + "functionname": "computeOCP_NMC111_Chen", "argumentlist": [ "concentration", "temperature", diff --git a/ParameterData/ParameterSets/Safari2009/anode_sei.json b/ParameterData/ParameterSets/Safari2009/anode_sei.json index 4d68fccd3..10b6b54e7 100644 --- a/ParameterData/ParameterSets/Safari2009/anode_sei.json +++ b/ParameterData/ParameterSets/Safari2009/anode_sei.json @@ -10,7 +10,7 @@ "guestStoichiometry0": 0.15, "chargeTransferCoefficient": 0.5, "openCircuitPotential" : {"type" : "function", - "functionname" : "computeOCP_graphite", + "functionname" : "computeOCP_Graphite_Torchio", "argumentlist" : ["concentration", "temperature", "cmax"]} }, "diffusionModelType": "full", diff --git a/ParameterData/ParameterSets/Safari2009/cathode.json b/ParameterData/ParameterSets/Safari2009/cathode.json index 39527c2f4..8e265ccca 100644 --- a/ParameterData/ParameterSets/Safari2009/cathode.json +++ b/ParameterData/ParameterSets/Safari2009/cathode.json @@ -11,7 +11,7 @@ "volumetricSurfaceArea": 382183, "numberOfElectronsTransferred" : 1, "openCircuitPotential" : {"type" : "function", - "functionname" : "computeOCP_nmc111", + "functionname" : "computeOCP_NMC111", "argumentlist" : ["concentration", "temperature", "cmax"]} }, diff --git a/Utilities/JuliaBridge/JuliaInterface/RunFromMatlab/src/JSON_lower_overloads.jl b/Utilities/JuliaBridge/JuliaInterface/RunFromMatlab/src/JSON_lower_overloads.jl index fbc9c8b79..430897dd8 100644 --- a/Utilities/JuliaBridge/JuliaInterface/RunFromMatlab/src/JSON_lower_overloads.jl +++ b/Utilities/JuliaBridge/JuliaInterface/RunFromMatlab/src/JSON_lower_overloads.jl @@ -31,11 +31,11 @@ JSON.lower(eq::Jutul.JutulEquation) = typeof(eq) JSON.lower(domain::Jutul.JutulDomain) = typeof(domain) JSON.lower(sys::Jutul.JutulSystem) = typeof(sys) -JSON.lower(func::typeof(BattMo.computeOCP_graphite)) = Base.nameof(func) +JSON.lower(func::typeof(BattMo.computeOCP_Graphite_Torchio)) = Base.nameof(func) JSON.lower(func::typeof(BattMo.compute_reaction_rate_constant_graphite)) = Base.nameof(func) JSON.lower(func::typeof(BattMo.computeOCP_Graphite_SiOx_Chen2020)) = Base.nameof(func) JSON.lower(func::typeof(BattMo.computeOCP_NMC811_Chen2020)) = Base.nameof(func) -JSON.lower(func::typeof(BattMo.computeOCP_nmc111)) = Base.nameof(func) +JSON.lower(func::typeof(BattMo.computeOCP_NMC111)) = Base.nameof(func) JSON.lower(func::typeof(BattMo.compute_reaction_rate_constant)) = Base.nameof(func) JSON.lower(func::typeof(BattMo.computeElectrolyteConductivity_default)) = Base.nameof(func) JSON.lower(func::typeof(BattMo.computeElectrolyteConductivity_Chen2020)) = Base.nameof(func)