diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-07-06 01:37:34 +0200 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-07-06 01:37:34 +0200 |
| commit | af4b3f8f9bf7b19c169d9fbd0a2b49668af8ad10 (patch) | |
| tree | 3e98fff4bad333affa55e082de0da759bad57229 /modules/core/c++/particle.hpp | |
| parent | 52326efc80dfeae6e830527df2e7803ecf61b00a (diff) | |
| parent | 015e941a91552ce6ea4cde4507ec9451c3708e77 (diff) | |
| download | libs-lbm-af4b3f8f9bf7b19c169d9fbd0a2b49668af8ad10.tar.gz | |
Merge branch 'dev'
Diffstat (limited to 'modules/core/c++/particle.hpp')
| -rw-r--r-- | modules/core/c++/particle.hpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/modules/core/c++/particle.hpp b/modules/core/c++/particle.hpp new file mode 100644 index 0000000..691a74b --- /dev/null +++ b/modules/core/c++/particle.hpp @@ -0,0 +1,37 @@ +#pragma once + +#include "component.hpp" +#include "particle/particle.hpp" + +namespace kel { +namespace lbm { +namespace cmpt { +struct Particle {}; +} + +template<typename T, typename Descriptor, typename Encode> +class component<T, Descriptor, cmpt::Particle, Encode> { +private: + saw::data<sch::Scalar<T>> dt_; +public: + component(saw::data<sch::Scalar<T>> dt__): + dt_{dt__} + {} + + template<typename ParticleSchema, typename MacroFieldSchema> + void apply(const saw::data<ParticleSchema, Encode>& particles, const saw::data<MacroFieldSchema,Encode>& macros, saw::data<sch::UInt64> index, saw::data<sch::UInt64> time_step) const { + + auto& p = particles.at(index); + + // Compute forces + + // Update particle velocity + verlet_step_lambda<T,Descriptor::D>(p,{1.0}); + + // Update porosity over lattice nodes + + + } +}; +} +} |
