import PySAM.BatteryStateful as battstfl
import PySAM.BatteryTools as BatteryTools
b = battstfl.default("LFPGraphite")
BatteryTools.battery_model_sizing(b, desired_power=2.5, desired_capacity=10, desired_voltage=240, size_by_ac_not_dc=True, tol=0.2)
params = {
# specify power input
"control_mode": 1, "input_power": 0, "dt_hr": 1,
"initial_SOC": 50.000, "maximum_SOC": 95.000, "minimum_SOC": 5.000,
}
for k, v in params.items():
	b.value(k, v)
b.setup()
b.execute()

power_signal = [a list with many power signals, e.g. repeated charge and discharge]

for power_value in power_signal:
	# Set the power level you want
	b.Controls.input_power = power_value

	# Execute the simulation
	b.execute()

	# Save the values
	"""Here I create a df and "exports" the interesting variables like:
	'SOC_ending': b.StatePack.SOC,
	'SOC_ending': b.StateCell.temp_avg,
	"""

	loop until replacement_capacity < e.g. 80 %