summaryrefslogtreecommitdiff
path: root/examples/cavity_2d.cpp
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2025-06-23 20:48:21 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2025-06-23 20:48:21 +0200
commitccd27ef48151c3ab24943e6f0bafde6991f5a476 (patch)
tree9ce4e5952a43d1f9416f39c9e29ea315ac80410e /examples/cavity_2d.cpp
parent5a166a02efe011931faa7a9ff9fe4043e3a8017a (diff)
Working on making cavity code available to everyone else :)
Diffstat (limited to 'examples/cavity_2d.cpp')
-rw-r--r--examples/cavity_2d.cpp26
1 files changed, 5 insertions, 21 deletions
diff --git a/examples/cavity_2d.cpp b/examples/cavity_2d.cpp
index 654a9ac..5683d85 100644
--- a/examples/cavity_2d.cpp
+++ b/examples/cavity_2d.cpp
@@ -2,6 +2,7 @@
#include "../c++/macroscopic.hpp"
#include "../c++/lbm.hpp"
#include "../c++/component.hpp"
+#include "../c++/collision.hpp"
/**
*/
@@ -106,8 +107,6 @@ public:
namespace cmpt {
struct BounceBack{};
struct MovingWall {};
-struct BGK {};
-struct ConstRhoBGK {};
}
@@ -155,23 +154,6 @@ public:
*/
}
};
-
-template<typename Desc>
-class component<sch::T, Desc, cmpt::BGK> {
-public:
- typename saw::native_data_type<sch::T>::type relaxation_;
-public:
- void apply(saw::data<sch::DfCell<Desc>>& dfs){
- typename saw::native_data_type<sch::T>::type rho;
- std::array<typename saw::native_data_type<sch::T>::type, Desc::D> vel;
- compute_rho_u<sch::T,Desc>(dfs,rho,vel);
- auto eq = equilibrium<Desc>(rho,vel);
-
- for(uint64_t i = 0u; i < Desc::Q; ++i){
- dfs({i}).set(dfs({i}).get() + (1.0 / relaxation_) * (eq[i] - dfs({i}).get()));
- }
- }
-};
}
}
@@ -260,8 +242,10 @@ void lbm_step(
using namespace kel::lbm;
using dfi = df_info<sch::T,sch::D2Q9>;
- component<sch::T, sch::D2Q9, cmpt::BGK> coll;
- coll.relaxation_ = 0.5384;
+ /**
+ * Relaxation parameter \tau
+ */
+ component<sch::T, sch::D2Q9, cmpt::BGK> coll{0.5384};
component<sch::T, sch::D2Q9, cmpt::BounceBack> bb;
component<sch::T, sch::D2Q9, cmpt::MovingWall> bb_lid;