I have done this sort of modeling before for the closed loop control and energy balance of spacecraft power electronics, solar arrays, and lithium ion batteries.

You should consider the energy balance of your model. You are injecting energy with your current source, and the load is consuming is energy. But you are also losing energy due to the batteries internal resistance. I bet that you are losing more energy than you are pushing in.

You said in a post above that the conditions are pulse source 60min every 36min and pulse load 8min every 86min. I don’t know exactly how you time that, but I guesstimate the beat frequency to be around 1/1000min, which explains the scallops.

It you are modeling the nonlinear open circuit voltage to state of charge relationship, that easily explains why the voltage craters at the end. Batteries don’t hold voltage well at low state of charge.

The fact that you have a “communication” model puts me on a spectrum somewhere between curious and concerned. I suppose it can work, but I guess you’re not taking advantage of ODE solvers to perform numeric integration.

By the way, the best way to determine the RC dynamic battery impedance is with a step response. And these parameters also end up being a function of state of charge