summaryrefslogtreecommitdiff
path: root/lib/core/c++/grid.hpp
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2026-03-09 08:26:01 +0100
committerClaudius "keldu" Holeksa <mail@keldu.de>2026-03-09 08:26:01 +0100
commit25b8f0503c56114f097f60db215880416bd187d8 (patch)
tree1310dca3d2a9e372ead13d166a57db8cfcbbfe84 /lib/core/c++/grid.hpp
parentadc69d0f0065228393b055604bb595510bf9cd60 (diff)
parent25c85bf962e0646f8e03f67fd4982450f41ee6a6 (diff)
downloadlibs-lbm-25b8f0503c56114f097f60db215880416bd187d8.tar.gz
Merge branch 'dev'HEADmaster
Diffstat (limited to 'lib/core/c++/grid.hpp')
-rw-r--r--lib/core/c++/grid.hpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/core/c++/grid.hpp b/lib/core/c++/grid.hpp
new file mode 100644
index 0000000..be86e18
--- /dev/null
+++ b/lib/core/c++/grid.hpp
@@ -0,0 +1,34 @@
+#pragma once
+
+#include "common.hpp"
+
+namespace kel {
+namespace lbm {
+
+/**
+ * I'm mixing up the geometry values regarding inflow etc. And a bit of logic
+ */
+template<typename InfoSchema>
+class domain_registry final {
+private:
+ saw::data<sch::Array<InfoSchema>> infos_;
+public:
+ template<typename T>
+ saw::data<InfoSchema> get_template_id() {
+ static saw::data<InfoSchema> id{std::numeric_limits<typename saw::native_data_type<InfoSchema>::type>::max()};
+
+ if( id == std::numeric_limits<typename saw::native_data_type<InfoSchema>::type>::max() ){
+ auto err_or_id = search_or_register_id(T::name);
+ if(err_or_id.is_error()){
+ // Unsure about recovery from this
+ exit(-1);
+ }
+ }
+ }
+};
+
+void clean_grid(saw::data<Schema>& info_field){
+
+}
+}
+}