summaryrefslogtreecommitdiff
path: root/modules/core/c++/grid.hpp
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2026-07-06 01:37:34 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2026-07-06 01:37:34 +0200
commitaf4b3f8f9bf7b19c169d9fbd0a2b49668af8ad10 (patch)
tree3e98fff4bad333affa55e082de0da759bad57229 /modules/core/c++/grid.hpp
parent52326efc80dfeae6e830527df2e7803ecf61b00a (diff)
parent015e941a91552ce6ea4cde4507ec9451c3708e77 (diff)
downloadlibs-lbm-af4b3f8f9bf7b19c169d9fbd0a2b49668af8ad10.tar.gz
Merge branch 'dev'
Diffstat (limited to 'modules/core/c++/grid.hpp')
-rw-r--r--modules/core/c++/grid.hpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/modules/core/c++/grid.hpp b/modules/core/c++/grid.hpp
new file mode 100644
index 0000000..c9a3b05
--- /dev/null
+++ b/modules/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);
+ }
+ }
+ }
+};
+
+template<typename Schema>
+void clean_grid(saw::data<Schema>& info_field){
+}
+}
+}