File: table_manager.cpp

package info (click to toggle)
opm-common 2025.10%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 96,920 kB
  • sloc: cpp: 291,772; python: 3,609; sh: 198; xml: 174; pascal: 136; makefile: 12
file content (27 lines) | stat: -rw-r--r-- 814 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <opm/input/eclipse/EclipseState/Tables/TableManager.hpp>

#include "export.hpp"

#include <python/cxx/OpmCommonPythonDoc.hpp>

namespace {

    double eval( const TableManager& tab,  std::string tab_name, int tab_idx, std::string col_name, double x ) {
        try {
            return tab[tab_name].getTable(tab_idx).evaluate(col_name, x);
        } catch( std::invalid_argument& e ) {
           throw py::key_error( e.what() );
        }
    }

}

void python::common::export_TableManager(py::module& module) {

    using namespace Opm::Common::DocStrings;

    py::class_< TableManager >( module, "Tables", Tables_docstring)
        .def( "__contains__",   &TableManager::hasTables , Tables_contains_docstring)
        .def("evaluate", &eval, Tables_evaluate_docstring, Tables_evaluate_docstring);

}