From 3d1712b6f94592a40d60f846bd5b00f57446b4e3 Mon Sep 17 00:00:00 2001
From: Nora Abi Akar <nora.abiakar@gmail.com>
Date: Thu, 25 Feb 2021 15:38:21 +0100
Subject: [PATCH] Remove all mentions of initial_ion_data (#1397)

* Remove redundant `initial_ion_data` specification.
---
 arbor/cable_cell_param.cpp               |  3 ---
 arbor/include/arbor/cable_cell_param.hpp |  6 ------
 python/cells.cpp                         | 26 ------------------------
 3 files changed, 35 deletions(-)

diff --git a/arbor/cable_cell_param.cpp b/arbor/cable_cell_param.cpp
index 7f343967..0868f410 100644
--- a/arbor/cable_cell_param.cpp
+++ b/arbor/cable_cell_param.cpp
@@ -134,9 +134,6 @@ void decor::set_default(defaultable what) {
                 else if constexpr (std::is_same_v<membrane_capacitance, T>) {
                     defaults_.membrane_capacitance = p.value;
                 }
-                else if constexpr (std::is_same_v<initial_ion_data, T>) {
-                    defaults_.ion_data[p.ion] = p.initial;
-                }
                 else if constexpr (std::is_same_v<init_int_concentration, T>) {
                     defaults_.ion_data[p.ion].init_int_concentration = p.value;
                 }
diff --git a/arbor/include/arbor/cable_cell_param.hpp b/arbor/include/arbor/cable_cell_param.hpp
index b9842190..edd9a042 100644
--- a/arbor/include/arbor/cable_cell_param.hpp
+++ b/arbor/include/arbor/cable_cell_param.hpp
@@ -160,11 +160,6 @@ private:
     std::unordered_map<std::string, double> param_;
 };
 
-struct initial_ion_data {
-    std::string ion;
-    cable_cell_ion_data initial;
-};
-
 struct ion_reversal_potential_method {
     std::string ion;
     mechanism_desc method;
@@ -191,7 +186,6 @@ using defaultable =
                  axial_resistivity,
                  temperature_K,
                  membrane_capacitance,
-                 initial_ion_data,
                  init_int_concentration,
                  init_ext_concentration,
                  init_reversal_potential,
diff --git a/python/cells.cpp b/python/cells.cpp
index 493409ac..2d9589b3 100644
--- a/python/cells.cpp
+++ b/python/cells.cpp
@@ -315,32 +315,6 @@ void register_cells(pybind11::module& m) {
         .def("__str__", [](const arb::threshold_detector& d){
             return util::pprintf("(threshold_detector {})", d.threshold);});
 
-    // arb::cable_cell_ion_data
-
-    pybind11::class_<arb::initial_ion_data> ion_data(m, "ion",
-        "For setting ion properties (internal and external concentration and reversal potential) on cells and regions.");
-    ion_data
-        .def(pybind11::init(
-                [](const char* name,
-                   optional<double> int_con,
-                   optional<double> ext_con,
-                   optional<double> rev_pot)
-                {
-                    arb::initial_ion_data x;
-                    x.ion = name;
-                    if (int_con) x.initial.init_int_concentration = *int_con;
-                    if (ext_con) x.initial.init_ext_concentration = *ext_con;
-                    if (rev_pot) x.initial.init_reversal_potential = *rev_pot;
-                    return x;
-                }
-            ),
-            "ion_name"_a,
-            pybind11::arg_v("int_con", pybind11::none(), "Intial internal concentration [mM]"),
-            pybind11::arg_v("ext_con", pybind11::none(), "Intial external concentration [mM]"),
-            pybind11::arg_v("rev_pot", pybind11::none(), "Intial reversal potential [mV]"),
-            "If concentrations or reversal potential are specified as 'None',"
-            " cell default or global default value will be used, in that order if set.");
-
     // arb::cable_cell_global_properties
 
     pybind11::class_<arb::cable_cell_global_properties> gprop(m, "cable_global_properties");
-- 
GitLab