summaryrefslogtreecommitdiff
path: root/lib/core/c++/hlbm.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/core/c++/hlbm.hpp')
-rw-r--r--lib/core/c++/hlbm.hpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/lib/core/c++/hlbm.hpp b/lib/core/c++/hlbm.hpp
index 41e2e27..196de73 100644
--- a/lib/core/c++/hlbm.hpp
+++ b/lib/core/c++/hlbm.hpp
@@ -7,14 +7,15 @@
namespace kel {
namespace lbm {
namespace cmpt {
-struct HLBM {};
+struct Hlbm {};
+struct HlbmParticle {};
}
/**
* HLBM collision operator for LBM
*/
template<typename T, typename Descriptor, typename Encode>
-class component<T, Descriptor, cmpt::HLBM, Encode> final {
+class component<T, Descriptor, cmpt::Hlbm, Encode> final {
private:
typename saw::native_data_type<T>::type relaxation_;
saw::data<T> frequency_;
@@ -65,5 +66,22 @@ public:
}
};
+template<typename T, typename Descriptor, typename Encode>
+class component<T, Descriptor, cmpt::HlbmParticle, Encode> final {
+private:
+ typename saw::native_data_type<T>::type relaxation_;
+ saw::data<T> frequency_;
+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>& particles, saw::data<sch::FixedArray<sch::UInt64,1u>> index, saw::data<sch::UInt64> time_step) const {
+ /// Figure out how to access the particle list
+ // auto& p = particles.at(i);
+
+ /// Iterate over the grid bounds
+ // auto& grid = p.template get<"grid">();
+
+ }
+};
}
}