summaryrefslogtreecommitdiff
path: root/lib/core
diff options
context:
space:
mode:
Diffstat (limited to 'lib/core')
-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
-rw-r--r--lib/core/tests/particles.cpp4
4 files changed, 19 insertions, 4 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 {
+ //
+ }
+};
}
}
diff --git a/lib/core/tests/particles.cpp b/lib/core/tests/particles.cpp
index de9477c..133c343 100644
--- a/lib/core/tests/particles.cpp
+++ b/lib/core/tests/particles.cpp
@@ -273,9 +273,9 @@ SAW_TEST("Verlet integration test 2D"){
}
*/
-SAW_TEST("Particle / AABB"){
+SAW_TEST("Spheroid Particle / AABB"){
using namespace kel;
-
+
}
}