Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About further charge at 100% SOC when fitting experiment data #2046

Closed
valentinsulzer opened this issue Apr 28, 2022 Discussed in #2040 · 2 comments
Closed

About further charge at 100% SOC when fitting experiment data #2046

valentinsulzer opened this issue Apr 28, 2022 Discussed in #2040 · 2 comments

Comments

@valentinsulzer
Copy link
Member

Discussed in #2040

Originally posted by RuiheLi April 28, 2022
Hi PyBaMM,

Recently I am trying to fit the experiment data and find that error will occur when I try to charge the cell at 100% SOC. The code is is follows:

Model_9 = pb.lithium_ion.DFN()
chemistry = pb.parameter_sets.Chen2020
Para_0 = pb.ParameterValues(chemistry=chemistry)
V_max = 4.2;        V_min = 2.5;
Experiment_Breakin= pb.Experiment( [    # at 25 degreeC
    (f"Discharge at 0.2 C until {V_min} V",
    "Rest for 4 hours",
    f"Charge at 0.2 C until {V_max} V" , 
    f"Hold at {V_max} V until C/100",
    "Rest for 2 hours")        ]   *1
    )  
Experiment_RPT_Long    = pb.Experiment( [      # under 25 degreeC
    (
        f"Charge at 0.3 C until {V_max} V", 
        f"Hold at {V_max} V until C/100",
        "Rest for 2 hours",  
        f"Discharge at 0.1 C until {V_min} V",  
        "Rest for 6 hours",  
        f"Charge at 0.1 C until {V_max} V",
        "Rest for 10 minutes",  
    ) ] * 1 )
Sol_NonDry=[];  Model_NonDry=[];
Sim_0 = pb.Simulation(Model_9, experiment = Experiment_Breakin,parameter_values = Para_0,solver = pb.CasadiSolver(),)       
Sol_0 = Sim_0.solve();
Sol_NonDry.append(Sol_0); Model_NonDry.append(Model_9);

Model_1 = Model_9.set_initial_conditions_from(Sol_0, inplace=False)
Sim_1 = pb.Simulation(Model_1, experiment = Experiment_RPT_Long,parameter_values = Para_0,solver = pb.CasadiSolver(),)   
Sol_1 = Sim_1.solve(); 
Sol_NonDry.append(Sol_1); Model_NonDry.append(Model_1);

I understand it is a bit wired to do this in modelling. But that is quite normal in experiments. I know that if I delete the first two steps in Experiment_RPT_Long (further charge), the error will disappear. But that will make it more complicated to transfer the real test procedure into modelling steps. I wonder whether there are any easy way to solve this? Big thanks in advance!

@valentinsulzer
Copy link
Member Author

@valentinsulzer
Copy link
Member Author

fixed by #2212

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant