summaryrefslogtreecommitdiff
path: root/lib/core/c++
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2026-07-04 22:22:02 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2026-07-04 22:22:02 +0200
commita31a302fb9fdf28b105eea55d98d2164dbeb7357 (patch)
tree454bbdadaf23868c1d4a3ab16b06462104680eba /lib/core/c++
parent89b1992988569add71f3b2f858a38a001d141d3b (diff)
parent275ded2ed5a5bdb92c78a801e40926fc000fb25b (diff)
downloadlibs-lbm-a31a302fb9fdf28b105eea55d98d2164dbeb7357.tar.gz
Merge branch 'dev'
Diffstat (limited to 'lib/core/c++')
-rw-r--r--lib/core/c++/abstract/templates.hpp3
-rw-r--r--lib/core/c++/environment.hpp5
-rw-r--r--lib/core/c++/hlbm.hpp11
3 files changed, 17 insertions, 2 deletions
diff --git a/lib/core/c++/abstract/templates.hpp b/lib/core/c++/abstract/templates.hpp
index f675a99..d9d9faa 100644
--- a/lib/core/c++/abstract/templates.hpp
+++ b/lib/core/c++/abstract/templates.hpp
@@ -2,6 +2,7 @@
namespace kel {
namespace lbm {
-
+template<typename... T>
+constexpr bool always_false = false;
}
}
diff --git a/lib/core/c++/environment.hpp b/lib/core/c++/environment.hpp
index 27d8f3a..d8aa9ae 100644
--- a/lib/core/c++/environment.hpp
+++ b/lib/core/c++/environment.hpp
@@ -8,11 +8,13 @@ namespace kel {
namespace lbm {
struct environment {
+ std::string name;
+
std::filesystem::path lbm_dir;
std::filesystem::path data_dir;
};
-saw::error_or<environment> lbm_directory(){
+saw::error_or<environment> setup_lbm_env(const std::string_view name){
namespace fs = std::filesystem;
const char* home_dir = std::getenv("HOME");
@@ -25,6 +27,7 @@ saw::error_or<environment> lbm_directory(){
env.lbm_dir = std::filesystem::path{home_dir} / ".lbm";
{
+ // Set default data location to "${lbm_dir}/data"
env.data_dir = env.lbm_dir / "data";
// LBM Data Location
auto lbm_dir_config = env.lbm_dir / "data_dir_location.txt";
diff --git a/lib/core/c++/hlbm.hpp b/lib/core/c++/hlbm.hpp
index 726f2d8..18c32a5 100644
--- a/lib/core/c++/hlbm.hpp
+++ b/lib/core/c++/hlbm.hpp
@@ -14,6 +14,8 @@ namespace cmpt {
struct HlbmInit {};
struct Hlbm {};
struct HlbmParticle {};
+
+struct HlbmOneParticleMomentumExchange {};
}
template<typename T, typename Descriptor, typename Encode>
@@ -153,5 +155,14 @@ public:
}
};
+
+template<typename T, typename Desc, typename Encode>
+class component<T, Desc, cmpt::HlbmOneParticleMomentumExchange, Encode> final {
+public:
+ template<typename CellFieldSchema, typename MacroFieldSchema, typename ParticleSchema>
+ void apply(const saw::data<CellFieldSchema, Encode>& field, const saw::data<MacroFieldSchema,Encode>& macros, const saw::data<ParticleSchema,Encode>& part_group, saw::data<sch::FixedArray<sch::UInt64,1u>> index, saw::data<sch::UInt64> time_step) const {
+ //
+ }
+};
}
}