- Author:
- Leyla <noroozbabaee@gmail.com>
- Date:
- 2022-05-10 14:01:08+12:00
- Desc:
- Adding Tong_2011 to PMR
- Permanent Source URI:
- https://models.cellml.org/workspace/85c/rawfile/a03f680a69226c515cd789723c8036028406852b/Experiments/Figure_8/Fig8_sim_ver1.py
# with the following commands at the prompt in the OpenCOR Python console:
#
# In [1]: cd path/to/folder_this_file_is_in
# In [2]: run Fig1_sim.py
import opencor as oc
import matplotlib.pyplot as plt
import numpy as np
# The prefix of the saved output file name
prefilename = 'Fig8'
# Load the simulation file
simfile = 'CaVAR_Tong_2011.sedml'
simulation = oc.open_simulation(simfile)
data = simulation.data()
# Reset states variables and parameters
# simulation.reset(True)
# Set constant values
start = 0
end = 5000
pointInterval = 0.1
data.set_starting_point(start)
data.set_ending_point(end)
data.set_point_interval(pointInterval)
# data.constants() ['interface/parameters/kmca'] = 0.001
# data.constants() [ 'interface/I_h/a_correction' ] = 1
ca_i = [0.000005, 0.00001, 0.00005, 0.00008, 0.0001, 0.0005, 0.0008, 0.001, 0.005, 0.008, 0.01, 0.05, 0.1, 0.5, 0.8, 1.0, 5.0, 8, 10, 50, 80, 100]
for j in range(len(ca_i)):
simulation.reset(True)
data.constants()['interface/membrane_potential/v_init'] = 280#-200
data.constants() [ 'interface/Ca_Concentrations/cai' ] = ca_i [ j ]
simulation.run()
# Access simulation results
results = simulation.results()
# Data to save
varName = np.array(["Time", "xass_z", "xass_vh", "xatc", "xass", "iBKa","xa", "v", "xabss_z", "xabss_vh",
"xabtc", "xabss", "iBKab","xab"])
vars = np.reshape(varName, (1,14))
rows = end * 10 + 1
print(rows)
# Grab a some algebraic variable results
r = np.zeros((rows, len(varName)))
r [ :, 0 ] = results.voi().values()
r [ :, 1 ] = results.constants()['interface/I_BKa/xass_z'].values()
r [ :, 2 ] = results.constants()['interface/I_BKa/xass_vh'].values()
r [ :, 3 ] = results.algebraic() [ 'interface/I_BKa/xatc'].values()
r [ :, 4 ] = results.algebraic() [ 'interface/I_BKa/xass'].values()
r [ :, 5 ] = results.algebraic() [ 'interface/I_BKa/iBKa'].values()
r [ :, 6 ] = results.states() ['interface/I_BKa/xa'].values()
r [ :, 7] = results.states() ['interface/membrane_potential/v' ].values()
r [ :, 8 ] = results.constants() [ 'interface/I_BKab/xabss_z' ].values()
r [ :, 9 ] = results.constants() [ 'interface/I_BKab/xabss_vh' ].values()
r [ :, 10 ] = results.algebraic() [ 'interface/I_BKab/xabtc' ].values()
r [ :, 11] = results.algebraic() [ 'interface/I_BKab/xabss' ].values()
r [ :, 12] = results.algebraic() [ 'interface/I_BKab/iBKab' ].values()
r [ :, 13] = results.states() [ 'interface/I_BKab/xab' ].values()
filename = '%s_%s.csv' % (prefilename, j)
np.savetxt(filename, vars, fmt='%s', delimiter=",")
with open(filename, "ab") as f:
np.savetxt(f, r, delimiter=",")
f.close