diff --git a/Applications/CLI/ogs_embedded_python.cpp b/Applications/CLI/ogs_embedded_python.cpp index 39b6e3e28182fe1fabe928e579a73dedd69f306b..b925f02e65e996c7e18a6c07e9d768473e9ae8b0 100644 --- a/Applications/CLI/ogs_embedded_python.cpp +++ b/Applications/CLI/ogs_embedded_python.cpp @@ -13,12 +13,14 @@ #include "ogs_embedded_python.h" #include "ProcessLib/BoundaryCondition/Python/PythonBoundaryConditionModule.h" +#include "ProcessLib/SourceTerms/Python/PythonSourceTermModule.h" PYBIND11_EMBEDDED_MODULE(OpenGeoSys, m) { DBUG("Binding Python module OpenGeoSys."); ProcessLib::pythonBindBoundaryCondition(m); + ProcessLib::SourceTerms::Python::pythonBindSourceTerm(m); } #ifndef OGS_BUILD_SHARED_LIBS diff --git a/ProcessLib/SourceTerms/CreateSourceTerm.cpp b/ProcessLib/SourceTerms/CreateSourceTerm.cpp index 820dff5831b76540cf2ac1b54d0d8a35001fcb9e..b33cd640db6d86103e7bd2772411260ac2aca2d4 100644 --- a/ProcessLib/SourceTerms/CreateSourceTerm.cpp +++ b/ProcessLib/SourceTerms/CreateSourceTerm.cpp @@ -56,6 +56,7 @@ std::unique_ptr<SourceTerm> createSourceTerm( #endif } + OGS_FATAL("Unknown source term type: `%s'.", type.c_str()); } } // namespace ProcessLib diff --git a/ProcessLib/SourceTerms/Python/CreatePythonSourceTerm.cpp b/ProcessLib/SourceTerms/Python/CreatePythonSourceTerm.cpp index 491107abba3fc8a1e1e49f7dcd3ef9e62724b896..896270d789ab832b7ce5b5d7345039f3b73417ed 100644 --- a/ProcessLib/SourceTerms/Python/CreatePythonSourceTerm.cpp +++ b/ProcessLib/SourceTerms/Python/CreatePythonSourceTerm.cpp @@ -31,7 +31,7 @@ std::unique_ptr<SourceTerm> createPythonSourceTerm( config.checkConfigParameter("type", "Python"); auto const source_term_object = - //! \ogs_file_param{prj__process_variables__process_variable__source_term__source_term__Python__source_term_object} + //! \ogs_file_param{prj__process_variables__process_variable__source_term__source_term__Python__source_term_object} config.getConfigParameter<std::string>("source_term_object"); //! \ogs_file_param{prj__process_variables__process_variable__source_term__source_term__Python__flush_stdout} auto const flush_stdout = config.getConfigParameter("flush_stdout", false); @@ -60,8 +60,8 @@ std::unique_ptr<SourceTerm> createPythonSourceTerm( dof_table.getNumberOfVariableComponents(variable_id)); } - // In case of partitioned mesh the source_term could be empty, i.e. there is - // no source_term condition. + // In case of partitioned mesh the source_term could be empty, i.e. there is no + // source_term condition. #ifdef USE_PETSC // This can be extracted to createSourceTerm() but then the config // parameters are not read and will cause an error. diff --git a/ProcessLib/SourceTerms/Python/PythonSourceTerm.h b/ProcessLib/SourceTerms/Python/PythonSourceTerm.h index 512c260d93f6ad7f2cbc75bd7a8723436787c110..931a5fca0a3165899bfd662dcc49a8c8be98e603 100644 --- a/ProcessLib/SourceTerms/Python/PythonSourceTerm.h +++ b/ProcessLib/SourceTerms/Python/PythonSourceTerm.h @@ -13,8 +13,8 @@ #include "NumLib/IndexValueVector.h" #include "ProcessLib/SourceTerms/SourceTerm.h" -#include "PythonSourceTermLocalAssemblerInterface.h" #include "PythonSourceTermPythonSideInterface.h" +#include "PythonSourceTermLocalAssemblerInterface.h" namespace ProcessLib { diff --git a/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssemblerInterface.h b/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssemblerInterface.h index c006156afab1df39c8bf05df39a5d3ebed8b9151..f970bb39e4c799e06f3809705fa28fd7184d44ab 100644 --- a/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssemblerInterface.h +++ b/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssemblerInterface.h @@ -16,6 +16,7 @@ namespace SourceTerms { namespace Python { + class PythonSourceTermLocalAssemblerInterface { public: diff --git a/ProcessLib/SourceTerms/Python/PythonSourceTermModule.cpp b/ProcessLib/SourceTerms/Python/PythonSourceTermModule.cpp index d018837ad6978644cbec25fe0b3e0971b3479236..822c48fcb1e19964d063aa28c9fa4b6002a36817 100644 --- a/ProcessLib/SourceTerms/Python/PythonSourceTermModule.cpp +++ b/ProcessLib/SourceTerms/Python/PythonSourceTermModule.cpp @@ -34,8 +34,8 @@ public: std::vector<double> const& primary_variables) const override { using Ret = std::pair<double, std::array<double, 3>>; - PYBIND11_OVERLOAD(Ret, PythonSourceTermPythonSideInterface, getFlux, t, - x, primary_variables); + PYBIND11_OVERLOAD(Ret, PythonSourceTermPythonSideInterface, + getFlux, t, x, primary_variables); } }; diff --git a/ProcessLib/SourceTerms/Python/PythonSourceTermPythonSideInterface.h b/ProcessLib/SourceTerms/Python/PythonSourceTermPythonSideInterface.h index e2bf933785b2091b84eb4406b0d42c64bcb8b769..754dedfe8439df73419b4dac9ada526794e90447 100644 --- a/ProcessLib/SourceTerms/Python/PythonSourceTermPythonSideInterface.h +++ b/ProcessLib/SourceTerms/Python/PythonSourceTermPythonSideInterface.h @@ -38,13 +38,12 @@ public: //! Tells if getFlux() has been overridden in the derived class in Python. //! //! \pre getFlux() must already have been called once. - bool isOverriddenGetFlux() const { return _overridden_get_flux; } + bool isOverriddenGetFlux() const + { + return _overridden_get_flux; + } virtual ~PythonSourceTermPythonSideInterface() = default; - -private: - //! Tells if getFlux() has been overridden in the derived class in Python. - mutable bool _overridden_get_flux = true; }; } // namespace Python } // namespace SourceTerms